Package proguard.evaluation.value
Class ArrayReferenceValue
- java.lang.Object
-
- proguard.evaluation.value.Value
-
- proguard.evaluation.value.Category1Value
-
- proguard.evaluation.value.ReferenceValue
-
- proguard.evaluation.value.TypedReferenceValue
-
- proguard.evaluation.value.ArrayReferenceValue
-
- Direct Known Subclasses:
IdentifiedArrayReferenceValue
public class ArrayReferenceValue extends TypedReferenceValue
ThisReferenceValue
represents a partially evaluated array. It has an array length and possibly array values (up to a fixed maximum number). It is not immutable.
-
-
Field Summary
Fields Modifier and Type Field Description protected IntegerValue
arrayLength
-
Fields inherited from class proguard.evaluation.value.TypedReferenceValue
ALLOW_INCOMPLETE_CLASS_HIERARCHY, INCOMPLETE_CLASS_HIERARCHY, mayBeExtension, mayBeNull, referencedClass, type, WARN_INCOMPLETE_CLASS_HIERARCHY
-
Fields inherited from class proguard.evaluation.value.Value
ALWAYS, MAYBE, NEVER, TYPE_DOUBLE, TYPE_FLOAT, TYPE_INSTRUCTION_OFFSET, TYPE_INTEGER, TYPE_LONG, TYPE_REFERENCE, TYPE_TOP, TYPE_UNKNOWN
-
-
Constructor Summary
Constructors Constructor Description ArrayReferenceValue(java.lang.String type, Clazz referencedClass, boolean mayBeExtension, IntegerValue arrayLength)
Creates a new ArrayReferenceValue.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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()
-
Methods inherited from class proguard.evaluation.value.TypedReferenceValue
allowsIncompleteClassHierarchy, arrayStore, cast, doubleArrayLoad, equal, floatArrayLoad, generalize, generalizeMayBeNull, getReferencedClass, getType, instanceOf, integerArrayLoad, internalType, isNull, isParticular, longArrayLoad, mayBeExtension, referenceArrayLoad
-
Methods inherited from class proguard.evaluation.value.ReferenceValue
computationalType, equal, equal, equal, equal, equal, equal, equal, generalize, generalize, generalize, generalize, generalize, generalize, generalize, generalize, getValue, isNotNull, notEqual, referenceValue, value
-
Methods inherited from class proguard.evaluation.value.Category1Value
category1Value, isCategory2
-
Methods inherited from class proguard.evaluation.value.Value
category2Value, copyIfMutable, doubleValue, floatValue, instructionOffsetValue, integerValue, isSpecific, longValue
-
-
-
-
Field Detail
-
arrayLength
protected final IntegerValue arrayLength
-
-
Constructor Detail
-
ArrayReferenceValue
public ArrayReferenceValue(java.lang.String type, Clazz referencedClass, boolean mayBeExtension, IntegerValue arrayLength)
Creates a new ArrayReferenceValue.
-
-
Method Detail
-
arrayLength
public IntegerValue arrayLength(ValueFactory valueFactory)
Description copied from class:ReferenceValue
Returns the length of the array, assuming this type is an array.- Overrides:
arrayLength
in classReferenceValue
-
generalize
public ReferenceValue generalize(ReferenceValue other)
Description copied from class:ReferenceValue
Returns the generalization of this ReferenceValue and the given other ReferenceValue.- Overrides:
generalize
in classTypedReferenceValue
-
equal
public int equal(ReferenceValue other)
Description copied from class:ReferenceValue
Returns whether this ReferenceValue is equal to the given other ReferenceValue.- Overrides:
equal
in classTypedReferenceValue
- Returns:
NEVER
,MAYBE
, orALWAYS
.
-
generalize
public ReferenceValue generalize(ArrayReferenceValue other)
Description copied from class:ReferenceValue
Returns the generalization of this ReferenceValue and the given other ArrayReferenceValue.- Overrides:
generalize
in classReferenceValue
-
equal
public int equal(ArrayReferenceValue other)
Description copied from class:ReferenceValue
Returns whether this ReferenceValue is equal to the given other ArrayReferenceValue.- Overrides:
equal
in classReferenceValue
- Returns:
NEVER
,MAYBE
, orALWAYS
.
-
equals
public boolean equals(java.lang.Object object)
- Overrides:
equals
in classTypedReferenceValue
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classTypedReferenceValue
-
toString
public java.lang.String toString()
- Overrides:
toString
in classTypedReferenceValue
-
-