类 MultiTypedReferenceValue
- java.lang.Object
-
- proguard.evaluation.value.Value
-
- proguard.evaluation.value.Category1Value
-
- proguard.evaluation.value.ReferenceValue
-
- proguard.evaluation.value.MultiTypedReferenceValue
-
public class MultiTypedReferenceValue extends ReferenceValue
ThisTypedReferenceValuecan have multiple potential types during runtime. E.g. when evaluatingSuperClass s = someFlag ? new A() : new B(), s may be of type LA; or LB;.
-
-
字段概要
字段 修饰符和类型 字段 说明 booleanmayBeUnknown-
从类继承的字段 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(java.util.Set<TypedReferenceValue> potentialTypes, boolean mayBeUnknown)MultiTypedReferenceValue(TypedReferenceValue type, boolean mayBeUnknown)
-
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 ReferenceValuecast(java.lang.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.booleanequals(java.lang.Object o)TypedReferenceValuegeneralize(java.util.Set<TypedReferenceValue> potentialTypes)ReferenceValuegeneralize(MultiTypedReferenceValue other)Returns the generalization of thisReferenceValueand the given otherMultiTypedReferenceValue.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.ReferenceValuegeneralize(UnknownReferenceValue other)Returns the generalization of this ReferenceValue and the given other UnknownReferenceValue.TypedReferenceValuegetGeneralizedType()java.util.Set<TypedReferenceValue>getPotentialTypes()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.java.lang.StringinternalType()Returns the internal type of this Value.intisNull()Returns whether this ReferenceValue isnull.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, 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
-
-
-
-
构造器详细资料
-
MultiTypedReferenceValue
public MultiTypedReferenceValue(java.util.Set<TypedReferenceValue> potentialTypes, boolean mayBeUnknown)
-
MultiTypedReferenceValue
public MultiTypedReferenceValue(TypedReferenceValue type, boolean mayBeUnknown)
-
-
方法详细资料
-
generalize
public TypedReferenceValue generalize(java.util.Set<TypedReferenceValue> potentialTypes)
-
getPotentialTypes
public java.util.Set<TypedReferenceValue> getPotentialTypes()
-
getGeneralizedType
public TypedReferenceValue getGeneralizedType()
-
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
-
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
-
generalize
public ReferenceValue generalize(TypedReferenceValue other)
从类复制的说明:ReferenceValueReturns the generalization of this ReferenceValue and the given other TypedReferenceValue.- 覆盖:
generalize在类中ReferenceValue
-
generalize
public ReferenceValue generalize(UnknownReferenceValue other)
从类复制的说明:ReferenceValueReturns the generalization of this ReferenceValue and the given other UnknownReferenceValue.- 覆盖:
generalize在类中ReferenceValue
-
generalize
public ReferenceValue generalize(MultiTypedReferenceValue other)
从类复制的说明:ReferenceValueReturns the generalization of thisReferenceValueand the given otherMultiTypedReferenceValue.- 覆盖:
generalize在类中ReferenceValue
-
equal
public int equal(ReferenceValue other)
从类复制的说明:ReferenceValueReturns whether this ReferenceValue is equal to the given other ReferenceValue.- 指定者:
equal在类中ReferenceValue- 返回:
NEVER,MAYBE, orALWAYS.
-
equal
public int equal(MultiTypedReferenceValue other)
从类复制的说明:ReferenceValueReturns whether thisReferenceValueis equal to the given otherMultiTypedReferenceValue.- 覆盖:
equal在类中ReferenceValue- 返回:
NEVER,MAYBE, orALWAYS.
-
internalType
public 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 o)
- 覆盖:
equals在类中ReferenceValue
-
hashCode
public int hashCode()
- 覆盖:
hashCode在类中ReferenceValue
-
toString
public java.lang.String toString()
- 覆盖:
toString在类中ReferenceValue
-
-