public final class ConcreteTypeKey extends Object implements InstanceKey
ContextItem.Value<T>
Constructor and Description |
---|
ConcreteTypeKey(IClass type) |
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object obj) |
IClass |
getConcreteType()
For now, we assert that each InstanceKey represents a set of classes which
are all of the same concrete type (modulo the fact that all arrays of
references are considered concrete type []Object;)
|
Iterator<Pair<CGNode,NewSiteReference>> |
getCreationSites(CallGraph CG)
Get the creation sites of
this , i.e., the statements that may
allocate objects represented by this . |
static InstanceKey[] |
getInstanceKeysForPEI(SSAInstruction pei,
IR ir,
IClassHierarchy cha) |
IClass |
getType() |
int |
hashCode() |
String |
toString() |
public ConcreteTypeKey(IClass type)
public IClass getType()
public IClass getConcreteType()
InstanceKey
getConcreteType
in interface InstanceKey
public static InstanceKey[] getInstanceKeysForPEI(SSAInstruction pei, IR ir, IClassHierarchy cha)
pei
- a PEI instructioncha
- governing class hierarchyIllegalArgumentException
- if pei is nullpublic Iterator<Pair<CGNode,NewSiteReference>> getCreationSites(CallGraph CG)
InstanceKey
this
, i.e., the statements that may
allocate objects represented by this
. A creation site is a
pair (n,s), where n is the containing CGNode
in the given
CallGraph
CG
and s is the allocating
NewSiteReference
.getCreationSites
in interface InstanceKey