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 |
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 |
---|
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, 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