Class SmushedAllocationSiteInstanceKeys
- java.lang.Object
-
- com.ibm.wala.ipa.callgraph.propagation.SmushedAllocationSiteInstanceKeys
-
- All Implemented Interfaces:
InstanceKeyFactory
public class SmushedAllocationSiteInstanceKeys extends Object implements InstanceKeyFactory
This class provides instance keys where for a given type T in a CGNode N, there is one "abstract allocation site" instance for all T allocations in node N.
-
-
Constructor Summary
Constructors Constructor Description SmushedAllocationSiteInstanceKeys(AnalysisOptions options, IClassHierarchy cha)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description InstanceKeygetInstanceKeyForAllocation(CGNode node, NewSiteReference allocation)<T> InstanceKeygetInstanceKeyForConstant(TypeReference type, T S)InstanceKeygetInstanceKeyForMetadataObject(Object obj, TypeReference objType)InstanceKeygetInstanceKeyForMultiNewArray(CGNode node, NewSiteReference allocation, int dim)InstanceKeygetInstanceKeyForPEI(CGNode node, ProgramCounter pei, TypeReference type)
-
-
-
Constructor Detail
-
SmushedAllocationSiteInstanceKeys
public SmushedAllocationSiteInstanceKeys(AnalysisOptions options, IClassHierarchy cha)
- Parameters:
options- Governing call graph construction options
-
-
Method Detail
-
getInstanceKeyForAllocation
public InstanceKey getInstanceKeyForAllocation(CGNode node, NewSiteReference allocation)
- Specified by:
getInstanceKeyForAllocationin interfaceInstanceKeyFactory- Returns:
- the instance key that represents a particular allocation
-
getInstanceKeyForMultiNewArray
public InstanceKey getInstanceKeyForMultiNewArray(CGNode node, NewSiteReference allocation, int dim)
- Specified by:
getInstanceKeyForMultiNewArrayin interfaceInstanceKeyFactory- Returns:
- the instance key that represents the array allocated as the dim_th dimension at a particular allocation
-
getInstanceKeyForConstant
public <T> InstanceKey getInstanceKeyForConstant(TypeReference type, T S)
- Specified by:
getInstanceKeyForConstantin interfaceInstanceKeyFactory- Returns:
- the instance key that represents a constant with value S, when considered as a particular type
-
getInstanceKeyForPEI
public InstanceKey getInstanceKeyForPEI(CGNode node, ProgramCounter pei, TypeReference type)
- Specified by:
getInstanceKeyForPEIin interfaceInstanceKeyFactory- Returns:
- the instance key that represents the exception of type _type_ thrown by a particular PEI.
-
getInstanceKeyForMetadataObject
public InstanceKey getInstanceKeyForMetadataObject(Object obj, TypeReference objType)
- Specified by:
getInstanceKeyForMetadataObjectin interfaceInstanceKeyFactoryobjType- TODO- Returns:
- the instance key that represents the metadata object obj
-
-