public class DetailedArrayReferenceValue extends IdentifiedArrayReferenceValue
IdentifiedArrayReferenceValue
represents an identified array reference value with
its elements.id, valuefactory
arrayLength
ALLOW_INCOMPLETE_CLASS_HIERARCHY, INCOMPLETE_CLASS_HIERARCHY, mayBeExtension, mayBeNull, referencedClass, type, WARN_INCOMPLETE_CLASS_HIERARCHY
ALWAYS, MAYBE, NEVER, TYPE_DOUBLE, TYPE_FLOAT, TYPE_INSTRUCTION_OFFSET, TYPE_INTEGER, TYPE_LONG, TYPE_REFERENCE, TYPE_TOP, TYPE_UNKNOWN
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.
|
static java.util.Optional<DetailedArrayReferenceValue> |
create(java.lang.String type,
Clazz referencedClass,
boolean mayBeExtension,
IntegerValue arrayLength,
ValueFactory valuefactory,
int id)
If possible it will create a new array reference value with the given ID, otherwise an empty
optional is returned
|
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.
|
@NotNull AnalyzedObject |
getValue() |
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()
Deprecated.
|
equal, generalize, 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, isNotNull, notEqual, referenceValue
category1Value, isCategory2
category2Value, doubleValue, floatValue, instructionOffsetValue, integerValue, longValue
@Deprecated public java.lang.Object value()
getValue()
.value
in class ReferenceValue
@NotNull public @NotNull AnalyzedObject getValue()
getValue
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
public static java.util.Optional<DetailedArrayReferenceValue> create(java.lang.String type, Clazz referencedClass, boolean mayBeExtension, IntegerValue arrayLength, ValueFactory valuefactory, int id)