public class TypeBasedHeapModel extends Object implements HeapModel
| Constructor and Description |
|---|
TypeBasedHeapModel(AnalysisOptions options,
Collection<IClass> klasses,
CallGraph cg) |
public TypeBasedHeapModel(AnalysisOptions options, Collection<IClass> klasses, CallGraph cg)
klasses - CollectionIllegalArgumentException - if cg is nullpublic Iterator<PointerKey> iteratePointerKeys()
iteratePointerKeys in interface HeapModelpublic IClassHierarchy getClassHierarchy()
getClassHierarchy in interface HeapModelpublic InstanceKey getInstanceKeyForAllocation(CGNode node, NewSiteReference allocation) throws UnimplementedError
getInstanceKeyForAllocation in interface InstanceKeyFactoryUnimplementedErrorpublic InstanceKey getInstanceKeyForMultiNewArray(CGNode node, NewSiteReference allocation, int dim) throws UnimplementedError
getInstanceKeyForMultiNewArray in interface InstanceKeyFactoryUnimplementedErrorpublic InstanceKey getInstanceKeyForConstant(TypeReference type, Object S)
getInstanceKeyForConstant in interface InstanceKeyFactorypublic String getStringConstantForInstanceKey(InstanceKey I) throws UnimplementedError
UnimplementedErrorpublic InstanceKey getInstanceKeyForPEI(CGNode node, ProgramCounter instr, TypeReference type) throws UnimplementedError
getInstanceKeyForPEI in interface InstanceKeyFactoryUnimplementedErrorpublic InstanceKey getInstanceKeyForMetadataObject(Object obj, TypeReference objType) throws UnimplementedError
getInstanceKeyForMetadataObject in interface InstanceKeyFactoryobjType - TODOUnimplementedErrorpublic FilteredPointerKey getPointerKeyForLocal(CGNode node, int valueNumber)
FilteredPointerKey, since the TypeBasedPointerAnalysis relies on the type
filter to compute points to sets.getPointerKeyForLocal in interface PointerKeyFactoryPointerKeyFactory.getPointerKeyForLocal(com.ibm.wala.ipa.callgraph.CGNode, int)public FilteredPointerKey getFilteredPointerKeyForLocal(CGNode node, int valueNumber, FilteredPointerKey.TypeFilter filter) throws UnimplementedError
getFilteredPointerKeyForLocal in interface PointerKeyFactoryUnimplementedErrorpublic PointerKey getPointerKeyForReturnValue(CGNode node)
getPointerKeyForReturnValue in interface PointerKeyFactorypublic PointerKey getPointerKeyForExceptionalReturnValue(CGNode node)
getPointerKeyForExceptionalReturnValue in interface PointerKeyFactorypublic PointerKey getPointerKeyForStaticField(IField f)
getPointerKeyForStaticField in interface PointerKeyFactorypublic PointerKey getPointerKeyForInstanceField(InstanceKey I, IField field)
getPointerKeyForInstanceField in interface PointerKeyFactorypublic PointerKey getPointerKeyForArrayContents(InstanceKey I)
PointerKeyFactorygetPointerKeyForArrayContents in interface PointerKeyFactoryI - an InstanceKey representing an abstract arrayprotected ClassBasedInstanceKeys getIKeyFactory()