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, typeALWAYS, MAYBE, NEVER, TYPE_DOUBLE, TYPE_FLOAT, TYPE_INSTRUCTION_OFFSET, TYPE_INTEGER, TYPE_LONG, TYPE_REFERENCE, TYPE_TOP| 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() |
cast, equal, generalize, generalizeMayBeNull, getReferencedClass, getType, instanceOf, internalType, isNull, isParticular, mayBeExtension, referenceArrayLoadarrayStore, computationalType, doubleArrayLoad, equal, equal, equal, equal, equal, equal, equal, floatArrayLoad, generalize, generalize, generalize, generalize, generalize, generalize, generalize, generalize, integerArrayLoad, isNotNull, longArrayLoad, notEqual, referenceValue, valuecategory1Value, isCategory2category2Value, doubleValue, floatValue, instructionOffsetValue, integerValue, isSpecific, longValueprotected final IntegerValue arrayLength
public ArrayReferenceValue(java.lang.String type,
Clazz referencedClass,
boolean mayBeExtension,
IntegerValue arrayLength)
public IntegerValue arrayLength(ValueFactory valueFactory)
ReferenceValuearrayLength in class ReferenceValuepublic ReferenceValue generalize(ReferenceValue other)
ReferenceValuegeneralize in class TypedReferenceValuepublic int equal(ReferenceValue other)
ReferenceValueequal in class TypedReferenceValueNEVER, MAYBE, or ALWAYS.public ReferenceValue generalize(ArrayReferenceValue other)
ReferenceValuegeneralize in class ReferenceValuepublic int equal(ArrayReferenceValue other)
ReferenceValueequal in class ReferenceValueNEVER, MAYBE, or ALWAYS.public boolean equals(java.lang.Object object)
equals in class TypedReferenceValuepublic int hashCode()
hashCode in class TypedReferenceValuepublic java.lang.String toString()
toString in class TypedReferenceValue