public class DetailedArrayReferenceValue extends IdentifiedArrayReferenceValue
IdentifiedArrayReferenceValue
represents an identified array reference
value with its elements.id, valuefactory
arrayLength
mayBeExtension, mayBeNull, referencedClass, type
ALWAYS, MAYBE, NEVER, TYPE_DOUBLE, TYPE_FLOAT, TYPE_INSTRUCTION_OFFSET, TYPE_INTEGER, TYPE_LONG, TYPE_REFERENCE, TYPE_TOP, TYPE_UNKNOWN
Constructor and Description |
---|
DetailedArrayReferenceValue(java.lang.String type,
Clazz referencedClass,
boolean mayBeExtension,
IntegerValue arrayLength,
ValueFactory valuefactory,
int id)
Creates a new array reference value with the given ID.
|
Modifier and Type | Method and Description |
---|---|
void |
arrayStore(IntegerValue indexValue,
Value value)
Stores the given value at the given index in the given array, assuming
this type is an array.
|
DetailedArrayReferenceValue |
copyIfMutable()
Creates a deep copy of the DetailedArrayReferenceValue.
|
DoubleValue |
doubleArrayLoad(IntegerValue indexValue,
ValueFactory valueFactory)
Returns the value of the array at the given index, assuming this type
is an double array.
|
int |
equal(ReferenceValue other)
Returns whether this ReferenceValue is equal to the given other
ReferenceValue.
|
boolean |
equals(java.lang.Object object) |
FloatValue |
floatArrayLoad(IntegerValue indexValue,
ValueFactory valueFactory)
Returns the value of the array at the given index, assuming this type
is an float array.
|
ReferenceValue |
generalize(ReferenceValue other)
Returns the generalization of this ReferenceValue and the given other
ReferenceValue.
|
int |
hashCode() |
IntegerValue |
integerArrayLoad(IntegerValue indexValue,
ValueFactory valueFactory)
Returns the value of the array at the given index, assuming this type
is an integer array.
|
boolean |
isParticular()
Returns whether this Value represents a single particular (known)
value.
|
LongValue |
longArrayLoad(IntegerValue indexValue,
ValueFactory valueFactory)
Returns the value of the array at the given index, assuming this type
is an long array.
|
ReferenceValue |
referenceArrayLoad(IntegerValue indexValue,
ValueFactory valueFactory)
Returns the value of the array at the given index, assuming this type
is a reference array.
|
java.lang.String |
toString() |
java.lang.Object |
value()
Returns the value.
|
equal, isSpecific
arrayLength, equal, generalize
allowsIncompleteClassHierarchy, cast, equal, generalize, generalizeMayBeNull, getReferencedClass, getType, instanceOf, internalType, isNull, mayBeExtension
computationalType, equal, equal, equal, equal, equal, equal, generalize, generalize, generalize, generalize, generalize, generalize, generalize, generalize, isNotNull, notEqual, referenceValue
category1Value, isCategory2
category2Value, doubleValue, floatValue, instructionOffsetValue, integerValue, longValue
public DetailedArrayReferenceValue(java.lang.String type, Clazz referencedClass, boolean mayBeExtension, IntegerValue arrayLength, ValueFactory valuefactory, int id)
public java.lang.Object value()
ReferenceValue
value
in class ReferenceValue
public IntegerValue integerArrayLoad(IntegerValue indexValue, ValueFactory valueFactory)
ReferenceValue
integerArrayLoad
in class TypedReferenceValue
public LongValue longArrayLoad(IntegerValue indexValue, ValueFactory valueFactory)
ReferenceValue
longArrayLoad
in class TypedReferenceValue
public FloatValue floatArrayLoad(IntegerValue indexValue, ValueFactory valueFactory)
ReferenceValue
floatArrayLoad
in class TypedReferenceValue
public DoubleValue doubleArrayLoad(IntegerValue indexValue, ValueFactory valueFactory)
ReferenceValue
doubleArrayLoad
in class TypedReferenceValue
public ReferenceValue referenceArrayLoad(IntegerValue indexValue, ValueFactory valueFactory)
ReferenceValue
referenceArrayLoad
in class TypedReferenceValue
public void arrayStore(IntegerValue indexValue, Value value)
ReferenceValue
arrayStore
in class TypedReferenceValue
public ReferenceValue generalize(ReferenceValue other)
ReferenceValue
generalize
in class IdentifiedArrayReferenceValue
public int equal(ReferenceValue other)
ReferenceValue
equal
in class IdentifiedArrayReferenceValue
NEVER
, MAYBE
, or ALWAYS
.public boolean isParticular()
Value
isParticular
in class TypedReferenceValue
public DetailedArrayReferenceValue copyIfMutable()
copyIfMutable
in class Value
public boolean equals(java.lang.Object object)
equals
in class IdentifiedArrayReferenceValue
public int hashCode()
hashCode
in class IdentifiedArrayReferenceValue
public java.lang.String toString()
toString
in class IdentifiedArrayReferenceValue