public class ObjectStamp extends AbstractObjectStamp
Constructor and Description |
---|
ObjectStamp(ResolvedJavaType type,
boolean exactType,
boolean nonNull,
boolean alwaysNull) |
Modifier and Type | Method and Description |
---|---|
protected ObjectStamp |
copyWith(ResolvedJavaType type,
boolean exactType,
boolean nonNull,
boolean alwaysNull) |
LIRKind |
getLIRKind(LIRKindTool tool)
Gets a platform dependent
LIRKind that can be used to store a value of this stamp. |
boolean |
isCompatible(Stamp other)
Test whether two stamps have the same base type.
|
Constant |
readConstant(MemoryAccessProvider provider,
Constant base,
long displacement)
Read a value of this stamp from memory.
|
String |
toString() |
Stamp |
unrestricted()
Returns a stamp of the same kind, but allowing the full value range of the kind.
|
appendString, constant, copyWith, empty, equals, getStackKind, hashCode, hasValues, improveWith, isConcreteType, isExactType, javaType, join, meet, type
alwaysNull, asConstant, nonNull
alwaysDistinct, isEmpty, neverDistinct, tryImproveWith
public ObjectStamp(ResolvedJavaType type, boolean exactType, boolean nonNull, boolean alwaysNull)
protected ObjectStamp copyWith(ResolvedJavaType type, boolean exactType, boolean nonNull, boolean alwaysNull)
copyWith
in class AbstractObjectStamp
public Stamp unrestricted()
Stamp
Stamp.unrestricted()
is the neutral element of the Stamp.join(Stamp)
operation.unrestricted
in class AbstractObjectStamp
public boolean isCompatible(Stamp other)
Stamp
isCompatible
in class Stamp
public LIRKind getLIRKind(LIRKindTool tool)
Stamp
LIRKind
that can be used to store a value of this stamp.getLIRKind
in class Stamp
public Constant readConstant(MemoryAccessProvider provider, Constant base, long displacement)
Stamp
readConstant
in class Stamp