public abstract class ReferenceValue extends Category1Value
ALWAYS, MAYBE, NEVER, TYPE_DOUBLE, TYPE_FLOAT, TYPE_INSTRUCTION_OFFSET, TYPE_INTEGER, TYPE_LONG, TYPE_REFERENCE, TYPE_TOP| Constructor and Description |
|---|
ReferenceValue() |
| Modifier and Type | Method and Description |
|---|---|
IntegerValue |
arrayLength(ValueFactory valueFactory)
Returns the length of the array, assuming this type is an array.
|
void |
arrayStore(IntegerValue indexValue,
Value value)
Stores the given value at the given index in the given array, assuming
this type is an array.
|
int |
computationalType()
Returns the computational type of this Value.
|
DoubleValue |
doubleArrayLoad(IntegerValue indexValue,
ValueFactory valueFactory)
Returns the value of the array at the given index, assuming this type
is an double array.
|
int |
equal(proguard.evaluation.value.ArrayReferenceValue other)
Returns whether this ReferenceValue is equal to the given other
ArrayReferenceValue.
|
int |
equal(proguard.evaluation.value.DetailedArrayReferenceValue other)
Returns whether this ReferenceValue is equal to the given other
DetailedArrayReferenceValue.
|
int |
equal(proguard.evaluation.value.IdentifiedArrayReferenceValue other)
Returns whether this ReferenceValue is equal to the given other
IdentifiedArrayReferenceValue.
|
int |
equal(proguard.evaluation.value.IdentifiedReferenceValue other)
Returns whether this ReferenceValue is equal to the given other
IdentifiedReferenceValue.
|
abstract int |
equal(ReferenceValue other)
Returns whether this ReferenceValue is equal to the given other
ReferenceValue.
|
int |
equal(TypedReferenceValue other)
Returns whether this ReferenceValue is equal to the given other
TypedReferenceValue.
|
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(proguard.evaluation.value.ArrayReferenceValue other)
Returns the generalization of this ReferenceValue and the given other
ArrayReferenceValue.
|
ReferenceValue |
generalize(proguard.evaluation.value.DetailedArrayReferenceValue other)
Returns the generalization of this ReferenceValue and the given other
DetailedArrayReferenceValue.
|
ReferenceValue |
generalize(proguard.evaluation.value.IdentifiedArrayReferenceValue other)
Returns the generalization of this ReferenceValue and the given other
IdentifiedArrayReferenceValue.
|
ReferenceValue |
generalize(proguard.evaluation.value.IdentifiedReferenceValue other)
Returns the generalization of this ReferenceValue and the given other
IdentifiedReferenceValue.
|
abstract ReferenceValue |
generalize(ReferenceValue other)
Returns the generalization of this ReferenceValue and the given other
ReferenceValue.
|
ReferenceValue |
generalize(TypedReferenceValue other)
Returns the generalization of this ReferenceValue and the given other
TypedReferenceValue.
|
Value |
generalize(Value other)
Returns the generalization of this Value and the given other Value.
|
abstract ReferenceValue |
generalizeMayBeNull(boolean mayBeNull)
Returns a generalization of this ReferenceValue that may be null,
depending on the flag.
|
abstract Clazz |
getReferencedClass()
Returns the class that is referenced by the type.
|
abstract String |
getType()
Returns the type.
|
abstract int |
instanceOf(String otherType,
Clazz otherReferencedClass)
Returns whether the type is an instance of the given type.
|
IntegerValue |
integerArrayLoad(IntegerValue indexValue,
ValueFactory valueFactory)
Returns the value of the array at the given index, assuming this type
is an integer array.
|
int |
isNotNull()
Returns whether this ReferenceValue is not
null. |
abstract int |
isNull()
Returns whether the type is
null. |
LongValue |
longArrayLoad(IntegerValue indexValue,
ValueFactory valueFactory)
Returns the value of the array at the given index, assuming this type
is an long array.
|
int |
notEqual(ReferenceValue other)
Returns whether this ReferenceValue and the given ReferenceValue are different.
|
abstract ReferenceValue |
referenceArrayLoad(IntegerValue indexValue,
ValueFactory valueFactory)
Returns the value of the array at the given index, assuming this type
is a reference array.
|
ReferenceValue |
referenceValue()
Returns this Value as a ReferenceValue.
|
category1Value, isCategory2category2Value, doubleValue, floatValue, instructionOffsetValue, integerValue, internalType, isParticular, isSpecific, longValuepublic abstract String getType()
public abstract Clazz getReferencedClass()
public abstract int isNull()
null.public abstract int instanceOf(String otherType, Clazz otherReferencedClass)
public abstract ReferenceValue generalizeMayBeNull(boolean mayBeNull)
public IntegerValue arrayLength(ValueFactory valueFactory)
public IntegerValue integerArrayLoad(IntegerValue indexValue, ValueFactory valueFactory)
public LongValue longArrayLoad(IntegerValue indexValue, ValueFactory valueFactory)
public FloatValue floatArrayLoad(IntegerValue indexValue, ValueFactory valueFactory)
public DoubleValue doubleArrayLoad(IntegerValue indexValue, ValueFactory valueFactory)
public abstract ReferenceValue referenceArrayLoad(IntegerValue indexValue, ValueFactory valueFactory)
public void arrayStore(IntegerValue indexValue, Value value)
public abstract ReferenceValue generalize(ReferenceValue other)
public abstract int equal(ReferenceValue other)
NEVER, MAYBE, or ALWAYS.public final int isNotNull()
null.NEVER, MAYBE, or ALWAYS.public final int notEqual(ReferenceValue other)
NEVER, MAYBE, or ALWAYS.public ReferenceValue generalize(TypedReferenceValue other)
public int equal(TypedReferenceValue other)
NEVER, MAYBE, or ALWAYS.public ReferenceValue generalize(proguard.evaluation.value.IdentifiedReferenceValue other)
public int equal(proguard.evaluation.value.IdentifiedReferenceValue other)
NEVER, MAYBE, or ALWAYS.public ReferenceValue generalize(proguard.evaluation.value.ArrayReferenceValue other)
public int equal(proguard.evaluation.value.ArrayReferenceValue other)
NEVER, MAYBE, or ALWAYS.public ReferenceValue generalize(proguard.evaluation.value.IdentifiedArrayReferenceValue other)
public int equal(proguard.evaluation.value.IdentifiedArrayReferenceValue other)
NEVER, MAYBE, or ALWAYS.public ReferenceValue generalize(proguard.evaluation.value.DetailedArrayReferenceValue other)
public int equal(proguard.evaluation.value.DetailedArrayReferenceValue other)
NEVER, MAYBE, or ALWAYS.public final ReferenceValue referenceValue()
ValuereferenceValue in class Valuepublic final Value generalize(Value other)
Valuegeneralize in class Valuepublic final int computationalType()
ValuecomputationalType in class ValueTYPE_INTEGER,
TYPE_LONG,
TYPE_FLOAT,
TYPE_DOUBLE,
TYPE_REFERENCE, or
TYPE_INSTRUCTION_OFFSET.Copyright © 2015. All Rights Reserved.