Package com.ibm.wala.analysis.reflection
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
protected class AbstractReflectionInterpreter.SpecializedMethod extends SyntheticMethod
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.ibm.wala.ipa.callgraph.ContextItem
ContextItem.Value<T>
-
Nested classes/interfaces inherited from interface com.ibm.wala.classLoader.IMethod
IMethod.SourcePosition
-
-
Field Summary
Fields Modifier and Type Field Description protected ArrayList<SSAInstruction>
allInstructions
List of all instructionsprotected ArrayList<SSAInstruction>
allocations
List of synthetic allocation statements we model for this specialized instanceprotected ArrayList<SSAInstruction>
calls
List of synthetic invoke instructions we model for this specialized instance.protected HashSet<TypeReference>
typesAllocated
Set of types that we have already inserted an allocation for.-
Fields inherited from class com.ibm.wala.classLoader.SyntheticMethod
declaringClass, NO_STATEMENTS, resolvedMethod
-
-
Constructor Summary
Constructors Constructor Description SpecializedMethod(IMethod method, IClass declaringClass, boolean isStatic, boolean isFactory)
SpecializedMethod(MethodReference method, IClass declaringClass, boolean isStatic, boolean isFactory)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
addCtorInvokeInstruction(TypeReference t, int alloc)
Add an instruction to invoke the default constructor on the object of value number alloc of type t.protected void
addInstruction(TypeReference T, SSAInstruction instr, boolean isAllocation)
protected int
addStatementsForConcreteSimpleType(TypeReference t)
-
Methods inherited from class com.ibm.wala.classLoader.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, isBridge, isClinit, isFactoryMethod, isFinal, isInit, isNative, isPrivate, isProtected, isPublic, isStatic, isSynchronized, isSynthetic, makeControlFlowGraph, makeIR, toString
-
-
-
-
Field Detail
-
typesAllocated
protected final HashSet<TypeReference> typesAllocated
Set of types that we have already inserted an allocation for.
-
allocations
protected final ArrayList<SSAInstruction> allocations
List of synthetic allocation statements we model for this specialized instance
-
calls
protected final ArrayList<SSAInstruction> calls
List of synthetic invoke instructions we model for this specialized instance.
-
allInstructions
protected final ArrayList<SSAInstruction> allInstructions
List of all instructions
-
-
Constructor Detail
-
SpecializedMethod
public SpecializedMethod(MethodReference method, IClass declaringClass, boolean isStatic, boolean isFactory)
-
-
Method Detail
-
addInstruction
protected void addInstruction(TypeReference T, SSAInstruction instr, boolean isAllocation)
- Parameters:
T
- type allocated by the instruction.
-
addStatementsForConcreteSimpleType
protected int addStatementsForConcreteSimpleType(TypeReference t)
- Parameters:
t
- type of object to allocate- Returns:
- value number of the newly allocated object
-
addCtorInvokeInstruction
protected void addCtorInvokeInstruction(TypeReference t, int alloc)
Add an instruction to invoke the default constructor on the object of value number alloc of type t.
-
-