com.ibm.wala.ipa.callgraph.propagation
Interface PointerKeyFactory
- All Known Subinterfaces:
- AstPointerKeyFactory, ExtendedHeapModel, HeapModel
- All Known Implementing Classes:
- AstCFAPointerKeys, AstJavaCFABuilder, AstJavaSSAPropagationCallGraphBuilder, AstJavaZeroOneContainerCFABuilder, AstJavaZeroXCFABuilder, AstSSAPropagationCallGraphBuilder, CFABuilder, CFAPointerKeys, DelegatingAstPointerKeys, DelegatingExtendedHeapModel, JSCFABuilder, JSSSAPropagationCallGraphBuilder, JSZeroXCFABuilder, nCFABuilder, OneCFABuilder, SSAPropagationCallGraphBuilder, TypeBasedHeapModel, ZeroContainerCFABuilder, ZeroOneContainerCFABuilder, ZeroXCFABuilder
public interface PointerKeyFactory
An object that abstracts how to model pointers in the heap.
getPointerKeyForLocal
PointerKey getPointerKeyForLocal(CGNode node,
int valueNumber)
- Parameters:
node - 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.