类 Value
- java.lang.Object
-
- proguard.evaluation.value.Value
-
- 直接已知子类:
Category1Value,Category2Value,TracingValue,UnknownValue
public abstract class Value extends java.lang.ObjectThis abstract class represents a partially evaluated value.
-
-
字段概要
字段 修饰符和类型 字段 说明 static intALWAYSstatic intMAYBEstatic intNEVERstatic intTYPE_DOUBLEstatic intTYPE_FLOATstatic intTYPE_INSTRUCTION_OFFSETstatic intTYPE_INTEGERstatic intTYPE_LONGstatic intTYPE_REFERENCEstatic intTYPE_TOPstatic intTYPE_UNKNOWN
-
构造器概要
构造器 构造器 说明 Value()
-
方法概要
所有方法 实例方法 抽象方法 具体方法 修饰符和类型 方法 说明 Category1Valuecategory1Value()Returns this Value as a Category1Value.Category2Valuecategory2Value()Returns this Value as a Category2Value.abstract intcomputationalType()Returns the computational type of this Value.ValuecopyIfMutable()Returns a deep copy of the value if it mutable, returns the value itself otherwise.DoubleValuedoubleValue()Returns this Value as a DoubleValue.FloatValuefloatValue()Returns this Value as a FloatValue.abstract Valuegeneralize(Value other)Returns the generalization of this Value and the given other Value.InstructionOffsetValueinstructionOffsetValue()Returns this Value as an InstructionOffsetValue.IntegerValueintegerValue()Returns this Value as an IntegerValue.abstract java.lang.StringinternalType()Returns the internal type of this Value.abstract booleanisCategory2()Returns whether the computational type of this Value is a category 2 type.booleanisParticular()Returns whether this Value represents a single particular (known) value.booleanisSpecific()Returns whether this Value represents a single specific (but possibly unknown) value.LongValuelongValue()Returns this Value as a LongValue.ReferenceValuereferenceValue()Returns this Value as a ReferenceValue.
-
-
-
字段详细资料
-
NEVER
public static final int NEVER
- 另请参阅:
- 常量字段值
-
MAYBE
public static final int MAYBE
- 另请参阅:
- 常量字段值
-
ALWAYS
public static final int ALWAYS
- 另请参阅:
- 常量字段值
-
TYPE_UNKNOWN
public static final int TYPE_UNKNOWN
- 另请参阅:
- 常量字段值
-
TYPE_INTEGER
public static final int TYPE_INTEGER
- 另请参阅:
- 常量字段值
-
TYPE_LONG
public static final int TYPE_LONG
- 另请参阅:
- 常量字段值
-
TYPE_FLOAT
public static final int TYPE_FLOAT
- 另请参阅:
- 常量字段值
-
TYPE_DOUBLE
public static final int TYPE_DOUBLE
- 另请参阅:
- 常量字段值
-
TYPE_REFERENCE
public static final int TYPE_REFERENCE
- 另请参阅:
- 常量字段值
-
TYPE_INSTRUCTION_OFFSET
public static final int TYPE_INSTRUCTION_OFFSET
- 另请参阅:
- 常量字段值
-
TYPE_TOP
public static final int TYPE_TOP
- 另请参阅:
- 常量字段值
-
-
方法详细资料
-
category1Value
public Category1Value category1Value()
Returns this Value as a Category1Value.
-
category2Value
public Category2Value category2Value()
Returns this Value as a Category2Value.
-
integerValue
public IntegerValue integerValue()
Returns this Value as an IntegerValue.
-
longValue
public LongValue longValue()
Returns this Value as a LongValue.
-
floatValue
public FloatValue floatValue()
Returns this Value as a FloatValue.
-
doubleValue
public DoubleValue doubleValue()
Returns this Value as a DoubleValue.
-
referenceValue
public ReferenceValue referenceValue()
Returns this Value as a ReferenceValue.
-
instructionOffsetValue
public InstructionOffsetValue instructionOffsetValue()
Returns this Value as an InstructionOffsetValue.
-
isSpecific
public boolean isSpecific()
Returns whether this Value represents a single specific (but possibly unknown) value.
-
isParticular
public boolean isParticular()
Returns whether this Value represents a single particular (known) value.
-
generalize
public abstract Value generalize(Value other)
Returns the generalization of this Value and the given other Value.
-
isCategory2
public abstract boolean isCategory2()
Returns whether the computational type of this Value is a category 2 type. This means that it takes up the space of two category 1 types on the stack, for instance.
-
computationalType
public abstract int computationalType()
Returns the computational type of this Value.- 返回:
TYPE_INTEGER,TYPE_LONG,TYPE_FLOAT,TYPE_DOUBLE,TYPE_REFERENCE, orTYPE_INSTRUCTION_OFFSET.
-
internalType
public abstract java.lang.String internalType()
Returns the internal type of this 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).
-
copyIfMutable
public Value copyIfMutable()
Returns a deep copy of the value if it mutable, returns the value itself otherwise.
-
-