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
-
Method Summary
Modifier and TypeMethodDescriptionint
getNumberOfStatements
(CGNode node) iterateCallSites
(CGNode node) iterateNewSites
(CGNode node) boolean
recordFactoryType
(CGNode node, IClass klass) record that the "factory" method of a node should be interpreted to allocate a particular class.Methods inherited from class com.ibm.wala.ipa.callgraph.propagation.rta.DefaultRTAInterpreter
iterateFieldsRead, iterateFieldsWritten, understands
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.ibm.wala.ipa.callgraph.cha.CHAContextInterpreter
understands
Methods inherited from interface com.ibm.wala.ipa.callgraph.propagation.rta.RTAContextInterpreter
iterateFieldsRead, iterateFieldsWritten
-
Constructor Details
-
DefaultSSAInterpreter
-
-
Method Details
-
getIR
- Specified by:
getIR
in interfaceSSAContextInterpreter
- Returns:
- the IR that models the method context, or null if it's an unmodelled native method
-
getIRView
- Specified by:
getIRView
in interfaceSSAContextInterpreter
-
getNumberOfStatements
- Specified by:
getNumberOfStatements
in interfaceSSAContextInterpreter
- Returns:
- the number of the statements in the IR, or -1 if it's an unmodelled native method.
-
iterateNewSites
- Specified by:
iterateNewSites
in interfaceCHAContextInterpreter
- Specified by:
iterateNewSites
in interfaceRTAContextInterpreter
- Overrides:
iterateNewSites
in classDefaultRTAInterpreter
- Returns:
- an Iterator of the types that may be allocated by a given method in a given context.
-
iterateCallSites
- Specified by:
iterateCallSites
in interfaceCHAContextInterpreter
- Overrides:
iterateCallSites
in classDefaultRTAInterpreter
- Returns:
- an Iterator of the call statements that may execute in a given method for a given context
-
recordFactoryType
Description copied from interface:RTAContextInterpreter
record 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:
recordFactoryType
in interfaceRTAContextInterpreter
- Overrides:
recordFactoryType
in classDefaultRTAInterpreter
- Returns:
- true iff a NEW type was recorded, false if the type was previously recorded.
-
getCFG
- Specified by:
getCFG
in interfaceSSAContextInterpreter
-
getDU
- Specified by:
getDU
in interfaceSSAContextInterpreter
- Returns:
- DefUse for the IR that models the method context, or null if it's an unmodelled native method
-