Class DefaultSSAInterpreter
java.lang.Object
com.ibm.wala.ipa.callgraph.propagation.rta.DefaultRTAInterpreter
com.ibm.wala.ipa.callgraph.propagation.cfa.DefaultSSAInterpreter
- All Implemented Interfaces:
CHAContextInterpreter, RTAContextInterpreter, SSAContextInterpreter
Basic analysis; context-insensitive except for newInstance and clone
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintgetNumberOfStatements(CGNode node) iterateCallSites(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.Methods inherited from class DefaultRTAInterpreter
iterateFieldsRead, iterateFieldsWritten, understandsMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface CHAContextInterpreter
understandsMethods inherited from interface RTAContextInterpreter
iterateFieldsRead, iterateFieldsWritten
-
Constructor Details
-
DefaultSSAInterpreter
-
-
Method Details
-
getIR
- Specified by:
getIRin interfaceSSAContextInterpreter- Returns:
- the IR that models the method context, or null if it's an unmodelled native method
-
getIRView
- Specified by:
getIRViewin interfaceSSAContextInterpreter
-
getNumberOfStatements
- Specified by:
getNumberOfStatementsin interfaceSSAContextInterpreter- Returns:
- the number of the statements in the IR, or -1 if it's an unmodelled native method.
-
iterateNewSites
- Specified by:
iterateNewSitesin interfaceCHAContextInterpreter- Specified by:
iterateNewSitesin interfaceRTAContextInterpreter- Overrides:
iterateNewSitesin classDefaultRTAInterpreter- Returns:
- an Iterator of the types that may be allocated by a given method in a given context.
-
iterateCallSites
- Specified by:
iterateCallSitesin interfaceCHAContextInterpreter- Overrides:
iterateCallSitesin classDefaultRTAInterpreter- Returns:
- an Iterator of the call statements that may execute in a given method for a given context
-
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?
- Specified by:
recordFactoryTypein interfaceRTAContextInterpreter- Overrides:
recordFactoryTypein classDefaultRTAInterpreter- Returns:
- true iff a NEW type was recorded, false if the type was previously recorded.
-
getCFG
- Specified by:
getCFGin interfaceSSAContextInterpreter
-
getDU
- Specified by:
getDUin interfaceSSAContextInterpreter- Returns:
- DefUse for the IR that models the method context, or null if it's an unmodelled native method
-