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 com.ibm.wala.ipa.callgraph.ContextItem
ContextItem.Value<T>
Nested classes/interfaces inherited from interface com.ibm.wala.classLoader.IMethod
IMethod.SourcePosition
-
Field Summary
Modifier 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 com.ibm.wala.classLoader.SyntheticMethod
declaringClass, NO_STATEMENTS, resolvedMethod
-
Constructor Summary
ConstructorDescriptionSpecializedMethod
(IMethod method, IClass declaringClass, boolean isStatic, boolean isFactory) SpecializedMethod
(MethodReference method, IClass declaringClass, boolean isStatic, boolean isFactory) -
Method Summary
Modifier and TypeMethodDescriptionprotected 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
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, isAnnotation, isBridge, isClinit, isEnum, isFactoryMethod, isFinal, isInit, isModule, isNative, isPrivate, isProtected, isPublic, isStatic, isSynchronized, isSynthetic, isWalaSynthetic, makeControlFlowGraph, makeIR, toString
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.ibm.wala.classLoader.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.
-