类 MultiTypedReferenceValue
java.lang.Object
proguard.evaluation.value.Value
proguard.evaluation.value.Category1Value
proguard.evaluation.value.ReferenceValue
proguard.evaluation.value.MultiTypedReferenceValue
This
TypedReferenceValue can have multiple potential types during runtime. E.g. when
evaluating SuperClass s = someFlag ? new A() : new B(), s may be of type LA; or LB;.-
字段概要
字段从类继承的字段 proguard.evaluation.value.Value
ALWAYS, MAYBE, NEVER, TYPE_DOUBLE, TYPE_FLOAT, TYPE_INSTRUCTION_OFFSET, TYPE_INTEGER, TYPE_LONG, TYPE_REFERENCE, TYPE_TOP, TYPE_UNKNOWN -
构造器概要
构造器构造器说明MultiTypedReferenceValue(Set<TypedReferenceValue> potentialTypes, boolean mayBeUnknown) MultiTypedReferenceValue(TypedReferenceValue type, boolean mayBeUnknown) -
方法概要
修饰符和类型方法说明cast(String type, Clazz referencedClass, ValueFactory valueFactory, boolean alwaysCast) Returns this ReferenceValue, cast to the given type.intequal(MultiTypedReferenceValue other) Returns whether thisReferenceValueis equal to the given otherMultiTypedReferenceValue.intequal(ReferenceValue other) Returns whether this ReferenceValue is equal to the given other ReferenceValue.booleangeneralize(Set<TypedReferenceValue> potentialTypes) Returns the generalization of thisReferenceValueand the given otherMultiTypedReferenceValue.generalize(ReferenceValue other) Returns the generalization of this ReferenceValue and the given other ReferenceValue.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.Returns the class that is referenced by the type.getType()Returns the type.inthashCode()intinstanceOf(String otherType, Clazz otherReferencedClass) Returns whether the type is an instance of the given type.Returns the internal type of this Value.intisNull()Returns whether this ReferenceValue isnull.booleanReturns whether the actual type of this ReferenceValue may be an extension of its type.referenceArrayLoad(IntegerValue indexValue, ValueFactory valueFactory) Returns the value of the array at the given index, assuming this type is a reference array.toString()从类继承的方法 proguard.evaluation.value.ReferenceValue
arrayLength, arrayStore, computationalType, doubleArrayLoad, equal, equal, equal, equal, equal, equal, equal, equal, floatArrayLoad, generalize, generalize, generalize, generalize, generalize, generalize, generalize, getValue, integerArrayLoad, isNotNull, longArrayLoad, notEqual, referenceValue, value从类继承的方法 proguard.evaluation.value.Category1Value
category1Value, isCategory2从类继承的方法 proguard.evaluation.value.Value
category2Value, copyIfMutable, doubleValue, floatValue, instructionOffsetValue, integerValue, isParticular, isSpecific, longValue
-
字段详细资料
-
mayBeUnknown
public final boolean mayBeUnknown
-
-
构造器详细资料
-
MultiTypedReferenceValue
-
MultiTypedReferenceValue
-
-
方法详细资料
-
generalize
-
getPotentialTypes
-
getGeneralizedType
-
getType
从类复制的说明:ReferenceValueReturns the type.- 指定者:
getType在类中ReferenceValue
-
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
从类复制的说明:ReferenceValueReturns whether the type is an instance of the given type.- 指定者:
instanceOf在类中ReferenceValue
-
cast
public ReferenceValue cast(String type, Clazz referencedClass, ValueFactory valueFactory, boolean alwaysCast) 从类复制的说明:ReferenceValueReturns this ReferenceValue, cast to the given type.- 指定者:
cast在类中ReferenceValue
-
referenceArrayLoad
从类复制的说明:ReferenceValueReturns the value of the array at the given index, assuming this type is a reference array.- 覆盖:
referenceArrayLoad在类中ReferenceValue
-
generalize
从类复制的说明:ReferenceValueReturns the generalization of this ReferenceValue and the given other ReferenceValue.- 指定者:
generalize在类中ReferenceValue
-
generalize
从类复制的说明:ReferenceValueReturns the generalization of this ReferenceValue and the given other TypedReferenceValue.- 覆盖:
generalize在类中ReferenceValue
-
generalize
从类复制的说明:ReferenceValueReturns the generalization of this ReferenceValue and the given other UnknownReferenceValue.- 覆盖:
generalize在类中ReferenceValue
-
generalize
从类复制的说明:ReferenceValueReturns the generalization of thisReferenceValueand the given otherMultiTypedReferenceValue.- 覆盖:
generalize在类中ReferenceValue
-
equal
从类复制的说明:ReferenceValueReturns whether this ReferenceValue is equal to the given other ReferenceValue.- 指定者:
equal在类中ReferenceValue- 返回:
NEVER,MAYBE, orALWAYS.
-
equal
从类复制的说明:ReferenceValueReturns whether thisReferenceValueis equal to the given otherMultiTypedReferenceValue.- 覆盖:
equal在类中ReferenceValue- 返回:
NEVER,MAYBE, orALWAYS.
-
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
- 覆盖:
equals在类中ReferenceValue
-
hashCode
public int hashCode()- 覆盖:
hashCode在类中ReferenceValue
-
toString
- 覆盖:
toString在类中ReferenceValue
-