Class ContextInsensitiveSSAInterpreter
java.lang.Object
com.ibm.wala.ipa.callgraph.cha.ContextInsensitiveCHAContextInterpreter
com.ibm.wala.ipa.callgraph.propagation.rta.ContextInsensitiveRTAInterpreter
com.ibm.wala.ipa.callgraph.propagation.cfa.ContextInsensitiveSSAInterpreter
- All Implemented Interfaces:
CHAContextInterpreter, RTAContextInterpreter, SSAContextInterpreter
- Direct Known Subclasses:
AstContextInsensitiveSSAContextInterpreter
public class ContextInsensitiveSSAInterpreter
extends ContextInsensitiveRTAInterpreter
implements SSAContextInterpreter
Default implementation of SSAContextInterpreter for context-insensitive analysis.
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionContextInsensitiveSSAInterpreter(AnalysisOptions options, IAnalysisCacheView cache) -
Method Summary
Modifier and TypeMethodDescriptionintgetNumberOfStatements(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 ContextInsensitiveRTAInterpreter
getAnalysisCache, iterateFieldsRead, iterateFieldsWritten, iterateNewSitesMethods inherited from class ContextInsensitiveCHAContextInterpreter
iterateCallSites, understandsMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface CHAContextInterpreter
iterateCallSites, understandsMethods inherited from interface RTAContextInterpreter
iterateFieldsRead, iterateFieldsWritten, iterateNewSites
-
Field Details
-
options
-
-
Constructor Details
-
ContextInsensitiveSSAInterpreter
-
-
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.
-
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 classContextInsensitiveRTAInterpreter- 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
-