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