Class FactoryBypassInterpreter
java.lang.Object
com.ibm.wala.analysis.reflection.AbstractReflectionInterpreter
com.ibm.wala.analysis.reflection.FactoryBypassInterpreter
- All Implemented Interfaces:
CHAContextInterpreter, RTAContextInterpreter, SSAContextInterpreter
Logic to interpret "factory" methods in context.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected class -
Field Summary
Fields inherited from class AbstractReflectionInterpreter
cache, CONE_BOUND, DEBUG, indexLocal, options, typeIndexMap -
Constructor Summary
ConstructorsConstructorDescriptionFactoryBypassInterpreter(AnalysisOptions options, IAnalysisCacheView iAnalysisCacheView) -
Method Summary
Modifier and TypeMethodDescriptiongetCaughtExceptions(CGNode node) getInvokeStatements(CGNode node) intgetNumberOfStatements(CGNode node) booleanhasObjectArrayLoad(CGNode node) booleanhasObjectArrayStore(CGNode node) iterateCallSites(CGNode node) iterateCastTypes(CGNode node) iterateFieldsRead(CGNode node) iterateFieldsWritten(CGNode node) iterateNewSites(CGNode node) booleanrecordFactoryType(CGNode node, IClass klass) record that the "factory" method of a node should be interpreted to allocate a particular class.booleanrecordType(IClassHierarchy cha, Context context, TypeReference type) booleanunderstands(CGNode node) Does this object understand the given method? The caller had better check this before inquiring on other properties.Methods inherited from class AbstractReflectionInterpreter
getCallSiteForType, getExceptionsForType, getLocalForType, getNewSiteForType, typeRef2TypeAbstraction
-
Constructor Details
-
FactoryBypassInterpreter
- Parameters:
options- governing analysis options
-
-
Method Details
-
getIR
-
getIRView
-
getNumberOfStatements
- Returns:
- the number of the statements in the IR, or -1 if it's an unmodelled native method.
- See Also:
-
understands
Description copied from interface:CHAContextInterpreterDoes this object understand the given method? The caller had better check this before inquiring on other properties.- See Also:
-
iterateNewSites
- Returns:
- an Iterator of the types that may be allocated by a given method in a given context.
-
getInvokeStatements
-
iterateCallSites
- Returns:
- an Iterator of the call statements that may execute in a given method for a given context
-
recordType
-
recordFactoryType
Description copied from interface:RTAContextInterpreterrecord that the "factory" method of a node should be interpreted to allocate a particular class.TODO: this is a little ugly, is there a better place to move this?
- Returns:
- true iff a NEW type was recorded, false if the type was previously recorded.
- See Also:
-
iterateFieldsRead
- Returns:
- iterator of FieldReference
-
iterateFieldsWritten
- Returns:
- iterator of FieldReference
-
getCaughtExceptions
-
hasObjectArrayLoad
-
hasObjectArrayStore
-
iterateCastTypes
-
getCFG
- See Also:
-
getDU
-