类 TypedReferenceValue
- java.lang.Object
-
- proguard.evaluation.value.Value
-
- proguard.evaluation.value.Category1Value
-
- proguard.evaluation.value.ReferenceValue
-
- proguard.evaluation.value.TypedReferenceValue
-
public class TypedReferenceValue extends ReferenceValue
ThisReferenceValuerepresents a partially evaluated reference value. It has a type and a flag that indicates whether the value could benull. If the type isnull, the value isnull.
-
-
字段概要
字段 修饰符和类型 字段 说明 static booleanALLOW_INCOMPLETE_CLASS_HIERARCHYIf true, do not throw anIncompleteClassHierarchyExceptionwhen one would occur.static booleanINCOMPLETE_CLASS_HIERARCHYIndicates whether there were occurrences ofIncompleteClassHierarchyException.protected booleanmayBeExtensionprotected booleanmayBeNullprotected ClazzreferencedClassprotected java.lang.Stringtypestatic booleanWARN_INCOMPLETE_CLASS_HIERARCHYIf true, print warnings for occurrences ofIncompleteClassHierarchyExceptionwhen ALLOW_INCOMPLETE_CLASS_HIERARCHY is enabled.-
从类继承的字段 proguard.evaluation.value.Value
ALWAYS, MAYBE, NEVER, TYPE_DOUBLE, TYPE_FLOAT, TYPE_INSTRUCTION_OFFSET, TYPE_INTEGER, TYPE_LONG, TYPE_REFERENCE, TYPE_TOP, TYPE_UNKNOWN
-
-
构造器概要
构造器 构造器 说明 TypedReferenceValue(java.lang.String type, Clazz referencedClass, boolean mayBeExtension, boolean mayBeNull)Creates a new TypedReferenceValue.
-
方法概要
所有方法 静态方法 实例方法 具体方法 修饰符和类型 方法 说明 static booleanallowsIncompleteClassHierarchy()Returns whether incomplete class hierarchies are allowed.voidarrayStore(IntegerValue indexValue, Value value)Stores the given value at the given index in the given array, assuming this type is an array.ReferenceValuecast(java.lang.String type, Clazz referencedClass, ValueFactory valueFactory, boolean alwaysCast)Returns this ReferenceValue, cast to the given type.DoubleValuedoubleArrayLoad(IntegerValue indexValue, ValueFactory valueFactory)Returns the value of the array at the given index, assuming this type is an double array.intequal(ReferenceValue other)Returns whether this ReferenceValue is equal to the given other ReferenceValue.intequal(TypedReferenceValue other)Returns whether this ReferenceValue is equal to the given other TypedReferenceValue.booleanequals(java.lang.Object object)FloatValuefloatArrayLoad(IntegerValue indexValue, ValueFactory valueFactory)Returns the value of the array at the given index, assuming this type is an float array.ReferenceValuegeneralize(ReferenceValue other)Returns the generalization of this ReferenceValue and the given other ReferenceValue.ReferenceValuegeneralize(TypedReferenceValue other)Returns the generalization of this ReferenceValue and the given other TypedReferenceValue.ReferenceValuegeneralizeMayBeNull(boolean mayBeNull)ClazzgetReferencedClass()Returns the class that is referenced by the type.java.lang.StringgetType()Returns the type.inthashCode()intinstanceOf(java.lang.String otherType, Clazz otherReferencedClass)Returns whether the type is an instance of the given type.IntegerValueintegerArrayLoad(IntegerValue indexValue, ValueFactory valueFactory)Returns the value of the array at the given index, assuming this type is an integer array.java.lang.StringinternalType()Returns the internal type of this Value.intisNull()Returns whether this ReferenceValue isnull.booleanisParticular()Returns whether this Value represents a single particular (known) value.LongValuelongArrayLoad(IntegerValue indexValue, ValueFactory valueFactory)Returns the value of the array at the given index, assuming this type is an long array.booleanmayBeExtension()Returns whether the actual type of this ReferenceValue may be an extension of its type.ReferenceValuereferenceArrayLoad(IntegerValue indexValue, ValueFactory valueFactory)Returns the value of the array at the given index, assuming this type is a reference array.java.lang.StringtoString()-
从类继承的方法 proguard.evaluation.value.ReferenceValue
arrayLength, computationalType, equal, equal, equal, equal, equal, equal, equal, equal, generalize, generalize, generalize, generalize, generalize, generalize, generalize, generalize, generalize, getValue, isNotNull, notEqual, referenceValue, value
-
从类继承的方法 proguard.evaluation.value.Category1Value
category1Value, isCategory2
-
从类继承的方法 proguard.evaluation.value.Value
category2Value, copyIfMutable, doubleValue, floatValue, instructionOffsetValue, integerValue, isSpecific, longValue
-
-
-
-
字段详细资料
-
INCOMPLETE_CLASS_HIERARCHY
public static boolean INCOMPLETE_CLASS_HIERARCHY
Indicates whether there were occurrences ofIncompleteClassHierarchyException.
-
ALLOW_INCOMPLETE_CLASS_HIERARCHY
public static boolean ALLOW_INCOMPLETE_CLASS_HIERARCHY
If true, do not throw anIncompleteClassHierarchyExceptionwhen one would occur.
-
WARN_INCOMPLETE_CLASS_HIERARCHY
public static boolean WARN_INCOMPLETE_CLASS_HIERARCHY
If true, print warnings for occurrences ofIncompleteClassHierarchyExceptionwhen ALLOW_INCOMPLETE_CLASS_HIERARCHY is enabled.
-
type
protected final java.lang.String type
-
referencedClass
protected final Clazz referencedClass
-
mayBeExtension
protected final boolean mayBeExtension
-
mayBeNull
protected final boolean mayBeNull
-
-
构造器详细资料
-
TypedReferenceValue
public TypedReferenceValue(java.lang.String type, Clazz referencedClass, boolean mayBeExtension, boolean mayBeNull)Creates a new TypedReferenceValue.
-
-
方法详细资料
-
getType
public java.lang.String getType()
从类复制的说明:ReferenceValueReturns the type.- 指定者:
getType在类中ReferenceValue
-
getReferencedClass
public Clazz getReferencedClass()
从类复制的说明:ReferenceValueReturns the class that is referenced by the type.- 指定者:
getReferencedClass在类中ReferenceValue
-
mayBeExtension
public boolean mayBeExtension()
从类复制的说明:ReferenceValueReturns whether the actual type of this ReferenceValue may be an extension of its type.- 指定者:
mayBeExtension在类中ReferenceValue
-
isNull
public int isNull()
从类复制的说明:ReferenceValueReturns whether this ReferenceValue isnull.- 指定者:
isNull在类中ReferenceValue- 返回:
NEVER,MAYBE, orALWAYS.
-
instanceOf
public int instanceOf(java.lang.String otherType, Clazz otherReferencedClass)从类复制的说明:ReferenceValueReturns whether the type is an instance of the given type.- 指定者:
instanceOf在类中ReferenceValue
-
cast
public ReferenceValue cast(java.lang.String type, Clazz referencedClass, ValueFactory valueFactory, boolean alwaysCast)
从类复制的说明:ReferenceValueReturns this ReferenceValue, cast to the given type.- 指定者:
cast在类中ReferenceValue
-
generalizeMayBeNull
public ReferenceValue generalizeMayBeNull(boolean mayBeNull)
-
referenceArrayLoad
public ReferenceValue referenceArrayLoad(IntegerValue indexValue, ValueFactory valueFactory)
从类复制的说明:ReferenceValueReturns the value of the array at the given index, assuming this type is a reference array.- 覆盖:
referenceArrayLoad在类中ReferenceValue
-
generalize
public ReferenceValue generalize(ReferenceValue other)
从类复制的说明:ReferenceValueReturns the generalization of this ReferenceValue and the given other ReferenceValue.- 指定者:
generalize在类中ReferenceValue
-
equal
public int equal(ReferenceValue other)
从类复制的说明:ReferenceValueReturns whether this ReferenceValue is equal to the given other ReferenceValue.- 指定者:
equal在类中ReferenceValue- 返回:
NEVER,MAYBE, orALWAYS.
-
generalize
public ReferenceValue generalize(TypedReferenceValue other)
从类复制的说明:ReferenceValueReturns the generalization of this ReferenceValue and the given other TypedReferenceValue.- 覆盖:
generalize在类中ReferenceValue
-
allowsIncompleteClassHierarchy
public static boolean allowsIncompleteClassHierarchy()
Returns whether incomplete class hierarchies are allowed.
-
doubleArrayLoad
public DoubleValue doubleArrayLoad(IntegerValue indexValue, ValueFactory valueFactory)
从类复制的说明:ReferenceValueReturns the value of the array at the given index, assuming this type is an double array.- 覆盖:
doubleArrayLoad在类中ReferenceValue
-
integerArrayLoad
public IntegerValue integerArrayLoad(IntegerValue indexValue, ValueFactory valueFactory)
从类复制的说明:ReferenceValueReturns the value of the array at the given index, assuming this type is an integer array.- 覆盖:
integerArrayLoad在类中ReferenceValue
-
longArrayLoad
public LongValue longArrayLoad(IntegerValue indexValue, ValueFactory valueFactory)
从类复制的说明:ReferenceValueReturns the value of the array at the given index, assuming this type is an long array.- 覆盖:
longArrayLoad在类中ReferenceValue
-
floatArrayLoad
public FloatValue floatArrayLoad(IntegerValue indexValue, ValueFactory valueFactory)
从类复制的说明:ReferenceValueReturns the value of the array at the given index, assuming this type is an float array.- 覆盖:
floatArrayLoad在类中ReferenceValue
-
arrayStore
public void arrayStore(IntegerValue indexValue, Value value)
从类复制的说明:ReferenceValueStores the given value at the given index in the given array, assuming this type is an array.- 覆盖:
arrayStore在类中ReferenceValue
-
equal
public int equal(TypedReferenceValue other)
从类复制的说明:ReferenceValueReturns whether this ReferenceValue is equal to the given other TypedReferenceValue.- 覆盖:
equal在类中ReferenceValue- 返回:
NEVER,MAYBE, orALWAYS.
-
isParticular
public boolean isParticular()
从类复制的说明:ValueReturns whether this Value represents a single particular (known) value.- 覆盖:
isParticular在类中Value
-
internalType
public final java.lang.String internalType()
从类复制的说明:ValueReturns the internal type of this Value.- 指定者:
internalType在类中Value- 返回:
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).
-
equals
public boolean equals(java.lang.Object object)
- 覆盖:
equals在类中ReferenceValue
-
hashCode
public int hashCode()
- 覆盖:
hashCode在类中ReferenceValue
-
toString
public java.lang.String toString()
- 覆盖:
toString在类中ReferenceValue
-
-