Package proguard.evaluation.value
Class TracingValue
- java.lang.Object
-
- proguard.evaluation.value.Value
-
- proguard.evaluation.value.TracingValue
-
public class TracingValue extends Value
Representation of a value that has been tagged with a sticky trace value.
-
-
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 TracingValue(Value traceValue, Value value)Creates a new TracingValue with the given trace value and value.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Category1Valuecategory1Value()Returns this Value as a Category1Value.Category2Valuecategory2Value()Returns this Value as a Category2Value.intcomputationalType()Returns the computational type of this Value.DoubleValuedoubleValue()Returns this Value as a DoubleValue.booleanequals(java.lang.Object object)FloatValuefloatValue()Returns this Value as a FloatValue.TracingValuegeneralize(TracingValue other)Returns the generalization of this TracingValue and the given other TracingValue.Valuegeneralize(Value other)Returns the generalization of this Value and the given other Value.inthashCode()InstructionOffsetValueinstructionOffsetValue()Returns this Value as an InstructionOffsetValue.IntegerValueintegerValue()Returns this Value as an IntegerValue.java.lang.StringinternalType()Returns the internal type of this Value.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.java.lang.StringtoString()-
Methods inherited from class proguard.evaluation.value.Value
copyIfMutable
-
-
-
-
Method Detail
-
generalize
public final TracingValue generalize(TracingValue other)
Returns the generalization of this TracingValue and the given other TracingValue.
-
category1Value
public Category1Value category1Value()
Description copied from class:ValueReturns this Value as a Category1Value.- Overrides:
category1Valuein classValue
-
category2Value
public Category2Value category2Value()
Description copied from class:ValueReturns this Value as a Category2Value.- Overrides:
category2Valuein classValue
-
integerValue
public IntegerValue integerValue()
Description copied from class:ValueReturns this Value as an IntegerValue.- Overrides:
integerValuein classValue
-
longValue
public LongValue longValue()
Description copied from class:ValueReturns this Value as a LongValue.
-
floatValue
public FloatValue floatValue()
Description copied from class:ValueReturns this Value as a FloatValue.- Overrides:
floatValuein classValue
-
doubleValue
public DoubleValue doubleValue()
Description copied from class:ValueReturns this Value as a DoubleValue.- Overrides:
doubleValuein classValue
-
referenceValue
public ReferenceValue referenceValue()
Description copied from class:ValueReturns this Value as a ReferenceValue.- Overrides:
referenceValuein classValue
-
instructionOffsetValue
public final InstructionOffsetValue instructionOffsetValue()
Description copied from class:ValueReturns this Value as an InstructionOffsetValue.- Overrides:
instructionOffsetValuein classValue
-
isSpecific
public boolean isSpecific()
Description copied from class:ValueReturns whether this Value represents a single specific (but possibly unknown) value.- Overrides:
isSpecificin classValue
-
isParticular
public boolean isParticular()
Description copied from class:ValueReturns whether this Value represents a single particular (known) value.- Overrides:
isParticularin classValue
-
generalize
public final Value generalize(Value other)
Description copied from class:ValueReturns the generalization of this Value and the given other Value.- Specified by:
generalizein classValue
-
isCategory2
public boolean isCategory2()
Description copied from class:ValueReturns 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.- Specified by:
isCategory2in classValue
-
computationalType
public final int computationalType()
Description copied from class:ValueReturns the computational type of this Value.- Specified by:
computationalTypein classValue- Returns:
TYPE_INTEGER,TYPE_LONG,TYPE_FLOAT,TYPE_DOUBLE,TYPE_REFERENCE, orTYPE_INSTRUCTION_OFFSET.
-
internalType
public final java.lang.String internalType()
Description copied from class:ValueReturns the internal type of this Value.- Specified by:
internalTypein 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).
-
equals
public boolean equals(java.lang.Object object)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-