Package proguard.evaluation.value
Class ReferenceValue
java.lang.Object
proguard.evaluation.value.Value
proguard.evaluation.value.Category1Value
proguard.evaluation.value.ReferenceValue
- Direct Known Subclasses:
MultiTypedReferenceValue,TracedReferenceValue,TypedReferenceValue,UnknownReferenceValue
Representation of a partially evaluated reference value.
-
Field Summary
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 -
Method Summary
Modifier and TypeMethodDescriptionarrayLength(ValueFactory valueFactory) Returns the length of the array, assuming this type is an array.voidarrayStore(IntegerValue indexValue, Value value) Stores the given value at the given index in the given array, assuming this type is an array.abstract ReferenceValuecast(String type, Clazz referencedClass, ValueFactory valueFactory, boolean alwaysCast) Returns this ReferenceValue, cast to the given type.final intReturns the computational type of this Value.doubleArrayLoad(IntegerValue indexValue, ValueFactory valueFactory) Returns the value of the array at the given index, assuming this type is an double array.intequal(ArrayReferenceValue other) Returns whether this ReferenceValue is equal to the given other ArrayReferenceValue.intequal(DetailedArrayReferenceValue other) Returns whether this ReferenceValue is equal to the given other DetailedArrayReferenceValue.intReturns whether this ReferenceValue is equal to the given other IdentifiedArrayReferenceValue.intequal(IdentifiedReferenceValue other) Returns whether this ReferenceValue is equal to the given other IdentifiedReferenceValue.intequal(MultiTypedReferenceValue other) Returns whether thisReferenceValueis equal to the given otherMultiTypedReferenceValue.intequal(ParticularReferenceValue other) Returns whether this ReferenceValue is equal to the given other ParticularReferenceValue.abstract intequal(ReferenceValue other) Returns whether this ReferenceValue is equal to the given other ReferenceValue.intequal(TracedReferenceValue other) Returns whether this ReferenceValue is equal to the given other TracedReferenceValue.intequal(TypedReferenceValue other) Returns whether this ReferenceValue is equal to the given other TypedReferenceValue.intequal(UnknownReferenceValue other) Returns whether this ReferenceValue is equal to the given other UnknownReferenceValue.booleanfloatArrayLoad(IntegerValue indexValue, ValueFactory valueFactory) Returns the value of the array at the given index, assuming this type is an float array.generalize(ArrayReferenceValue other) Returns the generalization of this ReferenceValue and the given other ArrayReferenceValue.Returns the generalization of this ReferenceValue and the given other DetailedArrayReferenceValue.Returns the generalization of this ReferenceValue and the given other IdentifiedArrayReferenceValue.Returns the generalization of this ReferenceValue and the given other IdentifiedReferenceValue.Returns the generalization of thisReferenceValueand the given otherMultiTypedReferenceValue.Returns the generalization of this ReferenceValue and the given other ParticularReferenceValue.abstract ReferenceValuegeneralize(ReferenceValue other) Returns the generalization of this ReferenceValue and the given other ReferenceValue.generalize(TracedReferenceValue other) Returns the generalization of this ReferenceValue and the given other TracedReferenceValue.generalize(TypedReferenceValue other) Returns the generalization of this ReferenceValue and the given other TypedReferenceValue.generalize(UnknownReferenceValue other) Returns the generalization of this ReferenceValue and the given other UnknownReferenceValue.final Valuegeneralize(Value other) Returns the generalization of this Value and the given other Value.abstract ClazzReturns the class that is referenced by the type.abstract StringgetType()Returns the type.@NotNull AnalyzedObjectgetValue()inthashCode()abstract intinstanceOf(String otherType, Clazz otherReferencedClass) Returns whether the type is an instance of the given type.integerArrayLoad(IntegerValue indexValue, ValueFactory valueFactory) Returns the value of the array at the given index, assuming this type is an integer array.final intReturns whether this ReferenceValue is notnull.abstract intisNull()Returns whether this ReferenceValue isnull.longArrayLoad(IntegerValue indexValue, ValueFactory valueFactory) Returns the value of the array at the given index, assuming this type is an long array.abstract booleanReturns whether the actual type of this ReferenceValue may be an extension of its type.final intnotEqual(ReferenceValue other) Returns whether this ReferenceValue and the given ReferenceValue are different.referenceArrayLoad(IntegerValue indexValue, ValueFactory valueFactory) Returns the value of the array at the given index, assuming this type is a reference array.final ReferenceValueReturns this Value as a ReferenceValue.toString()value()Deprecated.Methods inherited from class proguard.evaluation.value.Category1Value
category1Value, isCategory2Methods inherited from class proguard.evaluation.value.Value
category2Value, copyIfMutable, doubleValue, floatValue, instructionOffsetValue, integerValue, internalType, isParticular, isSpecific, longValue
-
Constructor Details
-
ReferenceValue
public ReferenceValue()
-
-
Method Details
-
value
Deprecated.Returns the value.Deprecated, use
getValue()instead. -
getValue
-
getType
Returns the type. -
getReferencedClass
Returns the class that is referenced by the type. -
mayBeExtension
public abstract boolean mayBeExtension()Returns whether the actual type of this ReferenceValue may be an extension of its type. -
isNull
public abstract int isNull()Returns whether this ReferenceValue isnull.- Returns:
NEVER,MAYBE, orALWAYS.
-
instanceOf
Returns whether the type is an instance of the given type. -
cast
public abstract ReferenceValue cast(String type, Clazz referencedClass, ValueFactory valueFactory, boolean alwaysCast) Returns this ReferenceValue, cast to the given type. -
arrayLength
Returns the length of the array, assuming this type is an array. -
integerArrayLoad
Returns the value of the array at the given index, assuming this type is an integer array. -
longArrayLoad
Returns the value of the array at the given index, assuming this type is an long array. -
floatArrayLoad
Returns the value of the array at the given index, assuming this type is an float array. -
doubleArrayLoad
Returns the value of the array at the given index, assuming this type is an double array. -
referenceArrayLoad
Returns the value of the array at the given index, assuming this type is a reference array. -
arrayStore
Stores the given value at the given index in the given array, assuming this type is an array. -
generalize
Returns the generalization of this ReferenceValue and the given other ReferenceValue. -
equal
Returns whether this ReferenceValue is equal to the given other ReferenceValue.- Returns:
NEVER,MAYBE, orALWAYS.
-
isNotNull
public final int isNotNull()Returns whether this ReferenceValue is notnull.- Returns:
NEVER,MAYBE, orALWAYS.
-
notEqual
Returns whether this ReferenceValue and the given ReferenceValue are different.- Returns:
NEVER,MAYBE, orALWAYS.
-
generalize
Returns the generalization of this ReferenceValue and the given other UnknownReferenceValue. -
equal
Returns whether this ReferenceValue is equal to the given other UnknownReferenceValue.- Returns:
NEVER,MAYBE, orALWAYS.
-
generalize
Returns the generalization of this ReferenceValue and the given other TypedReferenceValue. -
equal
Returns whether this ReferenceValue is equal to the given other TypedReferenceValue.- Returns:
NEVER,MAYBE, orALWAYS.
-
generalize
Returns the generalization of thisReferenceValueand the given otherMultiTypedReferenceValue. -
equal
Returns whether thisReferenceValueis equal to the given otherMultiTypedReferenceValue.- Returns:
NEVER,MAYBE, orALWAYS.
-
generalize
Returns the generalization of this ReferenceValue and the given other IdentifiedReferenceValue. -
equal
Returns whether this ReferenceValue is equal to the given other IdentifiedReferenceValue.- Returns:
NEVER,MAYBE, orALWAYS.
-
generalize
Returns the generalization of this ReferenceValue and the given other ArrayReferenceValue. -
equal
Returns whether this ReferenceValue is equal to the given other ArrayReferenceValue.- Returns:
NEVER,MAYBE, orALWAYS.
-
generalize
Returns the generalization of this ReferenceValue and the given other IdentifiedArrayReferenceValue. -
equal
Returns whether this ReferenceValue is equal to the given other IdentifiedArrayReferenceValue.- Returns:
NEVER,MAYBE, orALWAYS.
-
generalize
Returns the generalization of this ReferenceValue and the given other DetailedArrayReferenceValue. -
equal
Returns whether this ReferenceValue is equal to the given other DetailedArrayReferenceValue.- Returns:
NEVER,MAYBE, orALWAYS.
-
generalize
Returns the generalization of this ReferenceValue and the given other TracedReferenceValue. -
equal
Returns whether this ReferenceValue is equal to the given other TracedReferenceValue.- Returns:
NEVER,MAYBE, orALWAYS.
-
generalize
Returns the generalization of this ReferenceValue and the given other ParticularReferenceValue. -
equal
Returns whether this ReferenceValue is equal to the given other ParticularReferenceValue.- Returns:
NEVER,MAYBE, orALWAYS.
-
referenceValue
Description copied from class:ValueReturns this Value as a ReferenceValue.- Overrides:
referenceValuein classValue
-
generalize
Description copied from class:ValueReturns the generalization of this Value and the given other Value.- Specified by:
generalizein classValue
-
computationalType
public final int computationalType()Description copied from class:ValueReturns the computational type of this Value.- Specified by:
computationalTypein classValue- Returns:
TYPE_INTEGER,TYPE_LONG,TYPE_FLOAT,TYPE_DOUBLE,TYPE_REFERENCE, orTYPE_INSTRUCTION_OFFSET.
-
equals
-
hashCode
public int hashCode() -
toString
-