public class AllocationSite extends Object implements InstanceKey
InstanceKey
which represents a NewSiteReference
in some IMethod
. Note that this differs from
AllocationSiteInNode
, which represents an allocation in a CGNode
that may carry some Context
. This type
is useful for a context-insensitive heap abstraction.ContextItem.Value<T>
Constructor and Description |
---|
AllocationSite(IMethod method,
NewSiteReference allocation,
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 . |
IMethod |
getMethod() |
NewSiteReference |
getSite() |
int |
hashCode() |
String |
toString() |
public AllocationSite(IMethod method, NewSiteReference allocation, IClass type)
public NewSiteReference getSite()
public IMethod getMethod()
public IClass getConcreteType()
InstanceKey
getConcreteType
in interface InstanceKey
public 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