public class ArrayReferenceValue extends TypedReferenceValue
ReferenceValue
represents a partially evaluated array. It has an array length and
possibly array values (up to a fixed maximum number). It is not immutable.Modifier and Type | Field and Description |
---|---|
protected IntegerValue |
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
Constructor and Description |
---|
ArrayReferenceValue(java.lang.String type,
Clazz referencedClass,
boolean mayBeExtension,
IntegerValue arrayLength)
Creates a new ArrayReferenceValue.
|
Modifier and Type | Method and Description |
---|---|
IntegerValue |
arrayLength(ValueFactory valueFactory)
Returns the length of the array, assuming this type is an array.
|
int |
equal(ArrayReferenceValue other)
Returns whether this ReferenceValue is equal to the given other ArrayReferenceValue.
|
int |
equal(ReferenceValue other)
Returns whether this ReferenceValue is equal to the given other ReferenceValue.
|
boolean |
equals(java.lang.Object object) |
ReferenceValue |
generalize(ArrayReferenceValue other)
Returns the generalization of this ReferenceValue and the given other ArrayReferenceValue.
|
ReferenceValue |
generalize(ReferenceValue other)
Returns the generalization of this ReferenceValue and the given other ReferenceValue.
|
int |
hashCode() |
java.lang.String |
toString() |
allowsIncompleteClassHierarchy, arrayStore, cast, doubleArrayLoad, equal, floatArrayLoad, generalize, generalizeMayBeNull, getReferencedClass, getType, instanceOf, integerArrayLoad, internalType, isNull, isParticular, longArrayLoad, mayBeExtension, referenceArrayLoad
computationalType, equal, equal, equal, equal, equal, equal, equal, generalize, generalize, generalize, generalize, generalize, generalize, generalize, generalize, getValue, isNotNull, notEqual, referenceValue, value
category1Value, isCategory2
category2Value, copyIfMutable, doubleValue, floatValue, instructionOffsetValue, integerValue, isSpecific, longValue
protected final IntegerValue arrayLength
public ArrayReferenceValue(java.lang.String type, Clazz referencedClass, boolean mayBeExtension, IntegerValue arrayLength)
public IntegerValue arrayLength(ValueFactory valueFactory)
ReferenceValue
arrayLength
in class ReferenceValue
public ReferenceValue generalize(ReferenceValue other)
ReferenceValue
generalize
in class TypedReferenceValue
public int equal(ReferenceValue other)
ReferenceValue
equal
in class TypedReferenceValue
NEVER
, MAYBE
, or ALWAYS
.public ReferenceValue generalize(ArrayReferenceValue other)
ReferenceValue
generalize
in class ReferenceValue
public int equal(ArrayReferenceValue other)
ReferenceValue
equal
in class ReferenceValue
NEVER
, MAYBE
, or ALWAYS
.public boolean equals(java.lang.Object object)
equals
in class TypedReferenceValue
public int hashCode()
hashCode
in class TypedReferenceValue
public java.lang.String toString()
toString
in class TypedReferenceValue