Interface PointerKeyFactory
-
- All Known Subinterfaces:
AstHeapModel
,AstPointerKeyFactory
,ExtendedHeapModel
,HeapModel
- All Known Implementing Classes:
AstCFAPointerKeys
,AstSSAPropagationCallGraphBuilder
,CrossLanguageSSAPropagationCallGraphBuilder
,DefaultPointerKeyFactory
,DelegatingAstPointerKeys
,DelegatingExtendedHeapModel
,DexSSAPropagationCallGraphBuilder
,nCFABuilder
,PointerAnalysisImpl.HModel
,SSAPropagationCallGraphBuilder
,TypeBasedHeapModel
,ZeroXCFABuilder
,ZeroXContainerCFABuilder
public interface PointerKeyFactory
An object that abstracts how to model pointers in the heap.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description FilteredPointerKey
getFilteredPointerKeyForLocal(CGNode node, int valueNumber, FilteredPointerKey.TypeFilter filter)
PointerKey
getPointerKeyForArrayContents(InstanceKey I)
TODO: expand this API to differentiate between different array indicesPointerKey
getPointerKeyForExceptionalReturnValue(CGNode node)
PointerKey
getPointerKeyForInstanceField(InstanceKey I, IField field)
PointerKey
getPointerKeyForLocal(CGNode node, int valueNumber)
PointerKey
getPointerKeyForReturnValue(CGNode node)
PointerKey
getPointerKeyForStaticField(IField f)
-
-
-
Method Detail
-
getPointerKeyForLocal
PointerKey getPointerKeyForLocal(CGNode node, int valueNumber)
- Returns:
- the PointerKey that acts as a representative for the class of pointers that includes the local variable identified by the value number parameter.
-
getFilteredPointerKeyForLocal
FilteredPointerKey getFilteredPointerKeyForLocal(CGNode node, int valueNumber, FilteredPointerKey.TypeFilter filter)
- Returns:
- the PointerKey that acts as a representative for the class of pointers that includes the local variable identified by the value number parameter.
-
getPointerKeyForReturnValue
PointerKey getPointerKeyForReturnValue(CGNode node)
- Parameters:
node
-- Returns:
- the PointerKey that acts as a representative for the class of pointers that includes the return value for a node
-
getPointerKeyForExceptionalReturnValue
PointerKey getPointerKeyForExceptionalReturnValue(CGNode node)
- Returns:
- the PointerKey that acts as a representative for the class of pointers that includes the exceptional return value
-
getPointerKeyForStaticField
PointerKey getPointerKeyForStaticField(IField f)
- Returns:
- the PointerKey that acts as a representative for the class of pointers that includes the contents of the static field
-
getPointerKeyForInstanceField
PointerKey getPointerKeyForInstanceField(InstanceKey I, IField field)
- Returns:
- the PointerKey that acts as a representation for the class of pointers that includes the given instance field.
-
getPointerKeyForArrayContents
PointerKey getPointerKeyForArrayContents(InstanceKey I)
TODO: expand this API to differentiate between different array indices- Parameters:
I
- an InstanceKey representing an abstract array- Returns:
- the PointerKey that acts as a representation for the class of pointers that includes the given array contents.
-
-