Class ContextInsensitiveRTAInterpreter
- java.lang.Object
-
- com.ibm.wala.ipa.callgraph.cha.ContextInsensitiveCHAContextInterpreter
-
- com.ibm.wala.ipa.callgraph.propagation.rta.ContextInsensitiveRTAInterpreter
-
- All Implemented Interfaces:
CHAContextInterpreter
,RTAContextInterpreter
,SSAContextInterpreter
- Direct Known Subclasses:
ContextInsensitiveSSAInterpreter
public abstract class ContextInsensitiveRTAInterpreter extends ContextInsensitiveCHAContextInterpreter implements RTAContextInterpreter, SSAContextInterpreter
Default implementation of MethodContextInterpreter for context-insensitive analysis
-
-
Constructor Summary
Constructors Constructor Description ContextInsensitiveRTAInterpreter(AnalysisCache cache)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description AnalysisCache
getAnalysisCache()
Iterator<FieldReference>
iterateFieldsRead(CGNode node)
Iterator<FieldReference>
iterateFieldsWritten(CGNode node)
Iterator<NewSiteReference>
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.cha.ContextInsensitiveCHAContextInterpreter
iterateCallSites, 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
iterateCallSites, understands
-
Methods inherited from interface com.ibm.wala.ipa.callgraph.propagation.SSAContextInterpreter
getCFG, getDU, getIR, getNumberOfStatements
-
-
-
-
Constructor Detail
-
ContextInsensitiveRTAInterpreter
public ContextInsensitiveRTAInterpreter(AnalysisCache cache)
-
-
Method Detail
-
getAnalysisCache
public AnalysisCache getAnalysisCache()
-
iterateNewSites
public Iterator<NewSiteReference> iterateNewSites(CGNode node)
- Specified by:
iterateNewSites
in interfaceRTAContextInterpreter
- Returns:
- an Iterator of the types that may be allocated by a given method in a given context.
-
iterateFieldsRead
public Iterator<FieldReference> iterateFieldsRead(CGNode node)
- Specified by:
iterateFieldsRead
in interfaceRTAContextInterpreter
- Returns:
- iterator of FieldReference
-
iterateFieldsWritten
public Iterator<FieldReference> iterateFieldsWritten(CGNode node)
- Specified by:
iterateFieldsWritten
in interfaceRTAContextInterpreter
- Returns:
- iterator of FieldReference
-
recordFactoryType
public boolean recordFactoryType(CGNode node, IClass klass)
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
- Returns:
- true iff a NEW type was recorded, false if the type was previously recorded.
-
-