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
 
 - 
 
 -