Interface RTAContextInterpreter
-
- All Superinterfaces:
CHAContextInterpreter
- All Known Subinterfaces:
SSAContextInterpreter
- All Known Implementing Classes:
AbstractReflectionInterpreter
,AstContextInsensitiveSSAContextInterpreter
,ClassFactoryContextInterpreter
,ClassNewInstanceContextInterpreter
,CloneInterpreter
,ContextInsensitiveRTAInterpreter
,ContextInsensitiveSSAInterpreter
,DefaultRTAInterpreter
,DefaultSSAInterpreter
,DelegatingRTAContextInterpreter
,DelegatingSSAContextInterpreter
,DexIContextInterpreter
,FactoryBypassInterpreter
,FallbackContextInterpreter
,GetClassContextInterpeter
,GetMethodContextInterpreter
,IntentContextInterpreter
,JavaLangClassContextInterpreter
,MethodHandles.ContextInterpreterImpl
,ReflectiveInvocationInterpreter
public interface RTAContextInterpreter extends CHAContextInterpreter
This object will analyze a method in a context and return information needed for RTA.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description 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 interface com.ibm.wala.ipa.callgraph.cha.CHAContextInterpreter
iterateCallSites, understands
-
-
-
-
Method Detail
-
iterateNewSites
Iterator<NewSiteReference> iterateNewSites(CGNode node)
- Returns:
- an Iterator of the types that may be allocated by a given method in a given context.
-
iterateFieldsRead
Iterator<FieldReference> iterateFieldsRead(CGNode node)
- Returns:
- iterator of FieldReference
-
iterateFieldsWritten
Iterator<FieldReference> iterateFieldsWritten(CGNode node)
- Returns:
- iterator of FieldReference
-
recordFactoryType
boolean recordFactoryType(CGNode node, IClass klass)
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?- Parameters:
node
-klass
-- Returns:
- true iff a NEW type was recorded, false if the type was previously recorded.
-
-