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_HIERARCHYALWAYS, 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, referenceArrayLoadcomputationalType, equal, equal, equal, equal, equal, equal, equal, generalize, generalize, generalize, generalize, generalize, generalize, generalize, generalize, getValue, isNotNull, notEqual, referenceValue, valuecategory1Value, isCategory2category2Value, copyIfMutable, 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