Interface RTAContextInterpreter
- All Superinterfaces:
CHAContextInterpreter
- All Known Subinterfaces:
SSAContextInterpreter
- All Known Implementing Classes:
AbstractReflectionInterpreter, ArgumentSpecialization.ArgumentSpecializationContextInterpreter, 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) booleanrecordFactoryType(CGNode node, IClass klass) record that the "factory" method of a node should be interpreted to allocate a particular class.Methods inherited from interface CHAContextInterpreter
iterateCallSites, understands
-
Method Details
-
iterateNewSites
- Specified by:
iterateNewSitesin 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.
-