com.ibm.wala.ipa.callgraph.propagation
Interface InstanceKeyFactory

All Known Subinterfaces:
ExtendedHeapModel, HeapModel
All Known Implementing Classes:
AllocationSiteInstanceKeys, AstJavaCFABuilder, AstJavaSSAPropagationCallGraphBuilder, AstJavaZeroOneContainerCFABuilder, AstJavaZeroXCFABuilder, AstSSAPropagationCallGraphBuilder, CFABuilder, ClassBasedInstanceKeys, DelegatingExtendedHeapModel, JavaScopeMappingInstanceKeys, JavaScriptScopeMappingInstanceKeys, JSCFABuilder, JSSSAPropagationCallGraphBuilder, JSZeroXCFABuilder, nCFABuilder, OneCFABuilder, ScopeMappingInstanceKeys, SmushedAllocationSiteInstanceKeys, SSAPropagationCallGraphBuilder, TypeBasedHeapModel, ZeroContainerCFABuilder, ZeroOneContainerCFABuilder, ZeroXCFABuilder, ZeroXInstanceKeys

public interface InstanceKeyFactory

An object that abstracts how to model instances in the heap.


Method Summary
 InstanceKey getInstanceKeyForAllocation(CGNode node, NewSiteReference allocation)
           
 InstanceKey getInstanceKeyForClassObject(TypeReference type)
           
 InstanceKey getInstanceKeyForConstant(java.lang.Object S)
           
 InstanceKey getInstanceKeyForMultiNewArray(CGNode node, NewSiteReference allocation, int dim)
           
 InstanceKey getInstanceKeyForPEI(CGNode node, ProgramCounter instr, TypeReference type)
           
 java.lang.String getStringConstantForInstanceKey(InstanceKey I)
           
 

Method Detail

getInstanceKeyForAllocation

InstanceKey getInstanceKeyForAllocation(CGNode node,
                                        NewSiteReference allocation)
Parameters:
node -
allocation -
Returns:
the instance key that represents a particular allocation

getInstanceKeyForMultiNewArray

InstanceKey getInstanceKeyForMultiNewArray(CGNode node,
                                           NewSiteReference allocation,
                                           int dim)
Parameters:
node -
allocation -
dim -
Returns:
the instance key that represents the array allocated as the dimth dimension at a particular allocation

getInstanceKeyForConstant

InstanceKey getInstanceKeyForConstant(java.lang.Object S)
Parameters:
S -
Returns:
the instance key that represents a constant with value S

getStringConstantForInstanceKey

java.lang.String getStringConstantForInstanceKey(InstanceKey I)
Parameters:
I -
Returns:
if I was allocated by this for a specific string constant, return that constant (return null otherwise).

getInstanceKeyForPEI

InstanceKey getInstanceKeyForPEI(CGNode node,
                                 ProgramCounter instr,
                                 TypeReference type)
Parameters:
node -
instr -
type -
Returns:
the instance key that represents the exception of type _type_ thrown by a particular PEI.

getInstanceKeyForClassObject

InstanceKey getInstanceKeyForClassObject(TypeReference type)
Returns:
the instance key that represents the class object of type _type_.