Package proguard.evaluation.value
Class DetailedArrayReferenceValue
- java.lang.Object
-
- proguard.evaluation.value.Value
-
- proguard.evaluation.value.Category1Value
-
- proguard.evaluation.value.ReferenceValue
-
- proguard.evaluation.value.TypedReferenceValue
-
- proguard.evaluation.value.ArrayReferenceValue
-
- proguard.evaluation.value.IdentifiedArrayReferenceValue
-
- proguard.evaluation.value.DetailedArrayReferenceValue
-
public class DetailedArrayReferenceValue extends IdentifiedArrayReferenceValue
ThisIdentifiedArrayReferenceValue
represents an identified array reference value with its elements.
-
-
Field Summary
-
Fields inherited from class proguard.evaluation.value.IdentifiedArrayReferenceValue
id, valuefactory
-
Fields inherited from class proguard.evaluation.value.ArrayReferenceValue
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
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
arrayStore(IntegerValue indexValue, Value value)
Stores the given value at the given index in the given array, assuming this type is an array.DetailedArrayReferenceValue
copyIfMutable()
Creates a deep copy of the DetailedArrayReferenceValue.static java.util.Optional<DetailedArrayReferenceValue>
create(java.lang.String type, Clazz referencedClass, boolean mayBeExtension, IntegerValue arrayLength, ValueFactory valuefactory, int id)
If possible it will create a new array reference value with the given ID, otherwise an empty optional is returnedDoubleValue
doubleArrayLoad(IntegerValue indexValue, ValueFactory valueFactory)
Returns the value of the array at the given index, assuming this type is an double array.int
equal(ReferenceValue other)
Returns whether this ReferenceValue is equal to the given other ReferenceValue.boolean
equals(java.lang.Object object)
FloatValue
floatArrayLoad(IntegerValue indexValue, ValueFactory valueFactory)
Returns the value of the array at the given index, assuming this type is an float array.ReferenceValue
generalize(ReferenceValue other)
Returns the generalization of this ReferenceValue and the given other ReferenceValue.@NotNull AnalyzedObject
getValue()
int
hashCode()
IntegerValue
integerArrayLoad(IntegerValue indexValue, ValueFactory valueFactory)
Returns the value of the array at the given index, assuming this type is an integer array.boolean
isParticular()
Returns whether this Value represents a single particular (known) value.LongValue
longArrayLoad(IntegerValue indexValue, ValueFactory valueFactory)
Returns the value of the array at the given index, assuming this type is an long array.ReferenceValue
referenceArrayLoad(IntegerValue indexValue, ValueFactory valueFactory)
Returns the value of the array at the given index, assuming this type is a reference array.java.lang.String
toString()
java.lang.Object
value()
Deprecated.-
Methods inherited from class proguard.evaluation.value.IdentifiedArrayReferenceValue
equal, generalize, isSpecific
-
Methods inherited from class proguard.evaluation.value.ArrayReferenceValue
arrayLength, equal, generalize
-
Methods inherited from class proguard.evaluation.value.TypedReferenceValue
allowsIncompleteClassHierarchy, cast, equal, generalize, generalizeMayBeNull, getReferencedClass, getType, instanceOf, internalType, isNull, mayBeExtension
-
Methods inherited from class proguard.evaluation.value.ReferenceValue
computationalType, equal, equal, equal, equal, equal, equal, generalize, generalize, generalize, generalize, generalize, generalize, generalize, isNotNull, notEqual, referenceValue
-
Methods inherited from class proguard.evaluation.value.Category1Value
category1Value, isCategory2
-
Methods inherited from class proguard.evaluation.value.Value
category2Value, doubleValue, floatValue, instructionOffsetValue, integerValue, longValue
-
-
-
-
Method Detail
-
value
@Deprecated public java.lang.Object value()
Deprecated.Deprecated, usegetValue()
.- Overrides:
value
in classReferenceValue
-
getValue
@NotNull public @NotNull AnalyzedObject getValue()
- Overrides:
getValue
in classReferenceValue
-
integerArrayLoad
public IntegerValue integerArrayLoad(IntegerValue indexValue, ValueFactory valueFactory)
Description copied from class:ReferenceValue
Returns the value of the array at the given index, assuming this type is an integer array.- Overrides:
integerArrayLoad
in classTypedReferenceValue
-
longArrayLoad
public LongValue longArrayLoad(IntegerValue indexValue, ValueFactory valueFactory)
Description copied from class:ReferenceValue
Returns the value of the array at the given index, assuming this type is an long array.- Overrides:
longArrayLoad
in classTypedReferenceValue
-
floatArrayLoad
public FloatValue floatArrayLoad(IntegerValue indexValue, ValueFactory valueFactory)
Description copied from class:ReferenceValue
Returns the value of the array at the given index, assuming this type is an float array.- Overrides:
floatArrayLoad
in classTypedReferenceValue
-
doubleArrayLoad
public DoubleValue doubleArrayLoad(IntegerValue indexValue, ValueFactory valueFactory)
Description copied from class:ReferenceValue
Returns the value of the array at the given index, assuming this type is an double array.- Overrides:
doubleArrayLoad
in classTypedReferenceValue
-
referenceArrayLoad
public ReferenceValue referenceArrayLoad(IntegerValue indexValue, ValueFactory valueFactory)
Description copied from class:ReferenceValue
Returns the value of the array at the given index, assuming this type is a reference array.- Overrides:
referenceArrayLoad
in classTypedReferenceValue
-
arrayStore
public void arrayStore(IntegerValue indexValue, Value value)
Description copied from class:ReferenceValue
Stores the given value at the given index in the given array, assuming this type is an array.- Overrides:
arrayStore
in classTypedReferenceValue
-
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 classIdentifiedArrayReferenceValue
-
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 classIdentifiedArrayReferenceValue
- Returns:
NEVER
,MAYBE
, orALWAYS
.
-
isParticular
public boolean isParticular()
Description copied from class:Value
Returns whether this Value represents a single particular (known) value.- Overrides:
isParticular
in classTypedReferenceValue
-
copyIfMutable
public DetailedArrayReferenceValue copyIfMutable()
Creates a deep copy of the DetailedArrayReferenceValue.- Overrides:
copyIfMutable
in classValue
-
equals
public boolean equals(java.lang.Object object)
- Overrides:
equals
in classIdentifiedArrayReferenceValue
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classIdentifiedArrayReferenceValue
-
toString
public java.lang.String toString()
- Overrides:
toString
in classIdentifiedArrayReferenceValue
-
create
public static java.util.Optional<DetailedArrayReferenceValue> create(java.lang.String type, Clazz referencedClass, boolean mayBeExtension, IntegerValue arrayLength, ValueFactory valuefactory, int id)
If possible it will create a new array reference value with the given ID, otherwise an empty optional is returned
-
-