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, understandsModifier and TypeMethodDescriptioniterateCallSites(CGNode node) booleanunderstands(CGNode node) Does this object understand the given method? The caller had better check this before inquiring on other properties.
-
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.
-