Package proguard.evaluation.value
Class UnknownReferenceValue
- java.lang.Object
-
- proguard.evaluation.value.Value
-
- proguard.evaluation.value.Category1Value
-
- proguard.evaluation.value.ReferenceValue
-
- proguard.evaluation.value.UnknownReferenceValue
-
public class UnknownReferenceValue extends ReferenceValue
ReferenceValue
that is unknown.
-
-
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 Constructor Description UnknownReferenceValue()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ReferenceValue
cast(java.lang.String type, Clazz referencedClass, ValueFactory valueFactory, boolean alwaysCast)
Returns this ReferenceValue, cast to the given type.int
equal(ReferenceValue other)
Returns whether this ReferenceValue is equal to the given other ReferenceValue.ReferenceValue
generalize(ReferenceValue other)
Returns the generalization of this ReferenceValue and the given other ReferenceValue.Clazz
getReferencedClass()
Returns the class that is referenced by the type.java.lang.String
getType()
Returns the type.int
instanceOf(java.lang.String otherType, Clazz otherReferencedClass)
Returns whether the type is an instance of the given type.java.lang.String
internalType()
Returns the internal type of this Value.int
isNull()
Returns whether this ReferenceValue isnull
.boolean
isParticular()
Returns whether this Value represents a single particular (known) value.boolean
mayBeExtension()
Returns whether the actual type of this ReferenceValue may be an extension of its type.java.lang.String
toString()
-
Methods inherited from class proguard.evaluation.value.ReferenceValue
arrayLength, arrayStore, computationalType, doubleArrayLoad, equal, equal, equal, equal, equal, equal, equal, equal, equal, equals, floatArrayLoad, generalize, generalize, generalize, generalize, generalize, generalize, generalize, generalize, generalize, generalize, getValue, hashCode, integerArrayLoad, isNotNull, longArrayLoad, notEqual, referenceArrayLoad, 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
-
-
-
-
Method Detail
-
getType
public java.lang.String getType()
Description copied from class:ReferenceValue
Returns the type.- Specified by:
getType
in classReferenceValue
-
getReferencedClass
public Clazz getReferencedClass()
Description copied from class:ReferenceValue
Returns the class that is referenced by the type.- Specified by:
getReferencedClass
in classReferenceValue
-
mayBeExtension
public boolean mayBeExtension()
Description copied from class:ReferenceValue
Returns whether the actual type of this ReferenceValue may be an extension of its type.- Specified by:
mayBeExtension
in classReferenceValue
-
isNull
public int isNull()
Description copied from class:ReferenceValue
Returns whether this ReferenceValue isnull
.- Specified by:
isNull
in classReferenceValue
- Returns:
NEVER
,MAYBE
, orALWAYS
.
-
instanceOf
public int instanceOf(java.lang.String otherType, Clazz otherReferencedClass)
Description copied from class:ReferenceValue
Returns whether the type is an instance of the given type.- Specified by:
instanceOf
in classReferenceValue
-
cast
public ReferenceValue cast(java.lang.String type, Clazz referencedClass, ValueFactory valueFactory, boolean alwaysCast)
Description copied from class:ReferenceValue
Returns this ReferenceValue, cast to the given type.- Specified by:
cast
in classReferenceValue
-
generalize
public ReferenceValue generalize(ReferenceValue other)
Description copied from class:ReferenceValue
Returns the generalization of this ReferenceValue and the given other ReferenceValue.- Specified by:
generalize
in classReferenceValue
-
equal
public int equal(ReferenceValue other)
Description copied from class:ReferenceValue
Returns whether this ReferenceValue is equal to the given other ReferenceValue.- Specified by:
equal
in classReferenceValue
- 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 classValue
-
internalType
public final java.lang.String internalType()
Description copied from class:Value
Returns the internal type of this Value.- Specified by:
internalType
in classValue
- Returns:
TypeConstants.BOOLEAN
,TypeConstants.BYTE
,TypeConstants.CHAR
,TypeConstants.SHORT
,TypeConstants.INT
,TypeConstants.LONG
,TypeConstants.FLOAT
,TypeConstants.DOUBLE
,TypeConstants.CLASS_START ... TypeConstants.CLASS_END
, or an array type containing any of these types (always as String).
-
toString
public java.lang.String toString()
- Overrides:
toString
in classReferenceValue
-
-