Interface PointerKey
- All Known Subinterfaces:
FilteredPointerKey
,InstanceFieldPointerKey
- All Known Implementing Classes:
AbstractFieldPointerKey
,AbstractLocalPointerKey
,AbstractPointerKey
,ArgVertex
,ArrayContentsKey
,ArrayLengthKey
,AstGlobalPointerKey
,AstJavaSSAPropagationCallGraphBuilder.EnclosingObjectReferenceKey
,ExceptionReturnValueKey
,InstanceFieldKey
,InstanceFieldKeyWithFilter
,JSSyntheticParameterKey
,LocalPointerKey
,LocalPointerKeyWithFilter
,NodeKey
,ObjectPropertyCatalogKey
,PropagationCallGraphBuilder.TypedPointerKey
,PropVertex
,PrototypeFieldVertex
,ReflectedFieldPointerKey
,ReturnValueKey
,ReturnValueKeyWithFilter
,RetVertex
,RTASelectorKey
,StaticFieldKey
,TransitivePrototypeKey
,VarVertex
public interface PointerKey
A PointerKey instance serves as the representative for an equivalence class of pointers. (or more
generally ...locations, if we allow primitives).
For example, a PointerKey for 0-CFA might be - a <CGNode,int> pair, where the int represents an SSA value number. This PointerKey would represent all values of the pointer of a particular local variable. - a <FieldReference>, representing the set of instances of a given field in the heap, or of a particular static field.
A PointerKey for 0-1-CFA, with 1-level of InstanceVar context in the Grove et al. terminology, would instead of FieldReference, use a - <InstanceKey, FieldReference> pair