Class AbstractReflectionInterpreter.SpecializedMethod
java.lang.Object
com.ibm.wala.classLoader.SyntheticMethod
com.ibm.wala.analysis.reflection.AbstractReflectionInterpreter.SpecializedMethod
- All Implemented Interfaces:
IMember, IMethod, ContextItem, IClassHierarchyDweller
- Direct Known Subclasses:
FactoryBypassInterpreter.SpecializedFactoryMethod
- Enclosing class:
AbstractReflectionInterpreter
-
Nested Class Summary
Nested classes/interfaces inherited from interface ContextItem
ContextItem.Value<T>Nested classes/interfaces inherited from interface IMethod
IMethod.SourcePosition -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final ArrayList<SSAInstruction> List of all instructionsprotected final ArrayList<SSAInstruction> List of synthetic allocation statements we model for this specialized instanceprotected final ArrayList<SSAInstruction> List of synthetic invoke instructions we model for this specialized instance.protected final HashSet<TypeReference> Set of types that we have already inserted an allocation for.Fields inherited from class SyntheticMethod
declaringClass, NO_STATEMENTS, resolvedMethod -
Constructor Summary
ConstructorsConstructorDescriptionSpecializedMethod(IMethod method, IClass declaringClass, boolean isStatic, boolean isFactory) SpecializedMethod(MethodReference method, IClass declaringClass, boolean isStatic, boolean isFactory) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddCtorInvokeInstruction(TypeReference t, int alloc) Add an instruction to invoke the default constructor on the object of value number alloc of type t.protected voidaddInstruction(TypeReference T, SSAInstruction instr, boolean isAllocation) protected intMethods inherited from class SyntheticMethod
equals, getAnnotations, getBytecodeStream, getClassHierarchy, getDeclaredExceptions, getDeclaringClass, getDescriptor, getLineNumber, getLocalVariableName, getMaxLocals, getMaxStackHeight, getName, getNumberOfParameters, getParameterSourcePosition, getParameterType, getPoison, getPoisonLevel, getReference, getReturnType, getSelector, getSignature, getSourcePosition, getStatements, getStatements, hasExceptionHandler, hashCode, hasLocalVariableTable, hasPoison, isAbstract, isAnnotation, isBridge, isClinit, isEnum, isFactoryMethod, isFinal, isInit, isModule, isNative, isPrivate, isProtected, isPublic, isStatic, isSynchronized, isSynthetic, isWalaSynthetic, makeControlFlowGraph, makeIR, toStringMethods inherited from interface IMethod
getNumberOfDefaultParameters
-
Field Details
-
typesAllocated
Set of types that we have already inserted an allocation for. -
allocations
List of synthetic allocation statements we model for this specialized instance -
calls
List of synthetic invoke instructions we model for this specialized instance. -
allInstructions
List of all instructions
-
-
Constructor Details
-
SpecializedMethod
public SpecializedMethod(MethodReference method, IClass declaringClass, boolean isStatic, boolean isFactory) -
SpecializedMethod
-
-
Method Details
-
addInstruction
- Parameters:
T- type allocated by the instruction.
-
addStatementsForConcreteSimpleType
- Parameters:
t- type of object to allocate- Returns:
- value number of the newly allocated object
-
addCtorInvokeInstruction
Add an instruction to invoke the default constructor on the object of value number alloc of type t.
-