public final class ObjectLabel extends java.lang.Object implements DeepImmutable
Modifier and Type | Class and Description |
---|---|
static class |
ObjectLabel.Comparator |
static class |
ObjectLabel.Kind
Object kinds.
|
Modifier and Type | Field and Description |
---|---|
static ObjectLabel |
absent_accessor_function
Special object label for absent getter/setter.
|
Modifier and Type | Method and Description |
---|---|
boolean |
equals(java.lang.Object obj)
Checks whether the given object label is equal to this one.
|
Function |
getFunction()
Returns the function of this function object label.
|
HeapContext |
getHeapContext()
Returns the heap context.
|
HostObject |
getHostObject()
Returns the descriptor for this object label.
|
ObjectLabel.Kind |
getKind()
Returns the object label kind.
|
AbstractNode |
getNode()
Returns the node of this non-function object label.
|
SourceLocation |
getSourceLocation()
Returns the source location.
|
int |
hashCode()
Returns the hash code for this object label.
|
boolean |
isHostObject()
Returns true if this object label represents a host object.
|
boolean |
isSingleton()
Returns true if this object label definitely represents a single concrete object.
|
static ObjectLabel |
make(AbstractNode n,
ObjectLabel.Kind kind)
Constructs a new object label for a user defined non-function object.
|
static ObjectLabel |
make(AbstractNode n,
ObjectLabel.Kind kind,
HeapContext heapContext)
Constructs a new object label for a user defined non-function object.
|
static ObjectLabel |
make(Function f)
Constructs a new object label for a user defined function object.
|
static ObjectLabel |
make(Function f,
HeapContext heapContext)
Constructs a new object label for a user defined function object.
|
static ObjectLabel |
make(HostObject hostobject,
AbstractNode node,
Function function,
ObjectLabel.Kind kind,
HeapContext heapContext,
boolean singleton) |
static ObjectLabel |
make(HostObject hostobject,
ObjectLabel.Kind kind)
Constructs a new object label for a host object.
|
ObjectLabel |
makeSingleton()
Returns the singleton object label associated with this object label, or this object if that is singleton.
|
ObjectLabel |
makeSummary()
Returns the summary object label associated with this singleton object label.
|
static void |
reset() |
java.lang.String |
toString()
Produces a string representation of this object label.
|
public static ObjectLabel absent_accessor_function
public boolean equals(java.lang.Object obj)
equals
in class java.lang.Object
public Function getFunction()
public HeapContext getHeapContext()
public HostObject getHostObject()
public ObjectLabel.Kind getKind()
public AbstractNode getNode()
public SourceLocation getSourceLocation()
public int hashCode()
hashCode
in class java.lang.Object
public boolean isHostObject()
public boolean isSingleton()
public static ObjectLabel make(AbstractNode n, ObjectLabel.Kind kind)
public static ObjectLabel make(AbstractNode n, ObjectLabel.Kind kind, HeapContext heapContext)
OptionValues.isRecencyDisabled()
is disabled, the object label
represents a single concrete object (otherwise, it may represent any
number of concrete objects).public static ObjectLabel make(Function f)
public static ObjectLabel make(Function f, HeapContext heapContext)
OptionValues.isRecencyDisabled()
is disabled, the object label
represents a single concrete object (otherwise, it may represent any
number of concrete objects).public static ObjectLabel make(HostObject hostobject, AbstractNode node, Function function, ObjectLabel.Kind kind, HeapContext heapContext, boolean singleton)
public static ObjectLabel make(HostObject hostobject, ObjectLabel.Kind kind)
OptionValues.isRecencyDisabled()
is disabled, the object label
represents a single concrete object (otherwise, it may represent any
number of concrete objects).public ObjectLabel makeSingleton()
public ObjectLabel makeSummary()
public static void reset()
public java.lang.String toString()
toString
in class java.lang.Object
Copyright © 2009-2019 Aarhus University