public class AllocationSiteInNodeFactory extends java.lang.Object implements InstanceKeyFactory
InstanceKeys which are AllocationSiteInNodes.
Notes:
CGNodes are based on
ReceiverInstanceContext, as in object-sensitivity.
ClassBasedInstanceKeys for exceptions from PEIs and class
objects.
AnalysisOptions to determine whether to disambiguate
individual constants.
| Constructor and Description |
|---|
AllocationSiteInNodeFactory(AnalysisOptions options,
IClassHierarchy cha) |
| Modifier and Type | Method and Description |
|---|---|
InstanceKey |
getInstanceKeyForAllocation(CGNode node,
NewSiteReference allocation) |
<T> InstanceKey |
getInstanceKeyForConstant(TypeReference type,
T S) |
InstanceKey |
getInstanceKeyForMetadataObject(java.lang.Object obj,
TypeReference objType) |
InstanceKey |
getInstanceKeyForMultiNewArray(CGNode node,
NewSiteReference allocation,
int dim) |
InstanceKey |
getInstanceKeyForPEI(CGNode node,
ProgramCounter pei,
TypeReference type) |
public AllocationSiteInNodeFactory(AnalysisOptions options, IClassHierarchy cha)
options - Governing call graph construction optionspublic InstanceKey getInstanceKeyForAllocation(CGNode node, NewSiteReference allocation)
getInstanceKeyForAllocation in interface InstanceKeyFactorypublic InstanceKey getInstanceKeyForMultiNewArray(CGNode node, NewSiteReference allocation, int dim)
getInstanceKeyForMultiNewArray in interface InstanceKeyFactorypublic <T> InstanceKey getInstanceKeyForConstant(TypeReference type, T S)
getInstanceKeyForConstant in interface InstanceKeyFactorypublic InstanceKey getInstanceKeyForPEI(CGNode node, ProgramCounter pei, TypeReference type)
getInstanceKeyForPEI in interface InstanceKeyFactorypublic InstanceKey getInstanceKeyForMetadataObject(java.lang.Object obj, TypeReference objType)
getInstanceKeyForMetadataObject in interface InstanceKeyFactoryobjType - TODO