Interface PointerKeyFactory

All Known Subinterfaces:
AstHeapModel, AstPointerKeyFactory, ExtendedHeapModel, HeapModel
All Known Implementing Classes:
AstCFAPointerKeys, AstJavaCFABuilder, AstJavaSSAPropagationCallGraphBuilder, AstJavaZeroOneContainerCFABuilder, AstJavaZeroXCFABuilder, AstSSAPropagationCallGraphBuilder, CrossLanguageSSAPropagationCallGraphBuilder, DefaultPointerKeyFactory, DelegatingAstPointerKeys, DelegatingExtendedHeapModel, JavaJavaScriptHybridCallGraphBuilder, JSCFABuilder, JSSSAPropagationCallGraphBuilder, JSZeroOrOneXCFABuilder, nCFABuilder, nObjBuilder, PointerAnalysisImpl.HModel, SSAPropagationCallGraphBuilder, TypeBasedHeapModel, ZeroXCFABuilder, ZeroXContainerCFABuilder

public interface PointerKeyFactory
An object that abstracts how to model pointers in the heap.
  • Method Details

    • 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)
      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.