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.
  • Constructor Details

    • TracingValue

      public TracingValue(Value traceValue, Value value)
      Creates a new TracingValue with the given trace value and value.
  • Method Details

    • 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: Value
      Returns this Value as a Category1Value.
      Overrides:
      category1Value in class Value
    • category2Value

      public Category2Value category2Value()
      Description copied from class: Value
      Returns this Value as a Category2Value.
      Overrides:
      category2Value in class Value
    • integerValue

      public IntegerValue integerValue()
      Description copied from class: Value
      Returns this Value as an IntegerValue.
      Overrides:
      integerValue in class Value
    • longValue

      public LongValue longValue()
      Description copied from class: Value
      Returns this Value as a LongValue.
      Overrides:
      longValue in class Value
    • floatValue

      public FloatValue floatValue()
      Description copied from class: Value
      Returns this Value as a FloatValue.
      Overrides:
      floatValue in class Value
    • doubleValue

      public DoubleValue doubleValue()
      Description copied from class: Value
      Returns this Value as a DoubleValue.
      Overrides:
      doubleValue in class Value
    • referenceValue

      public ReferenceValue referenceValue()
      Description copied from class: Value
      Returns this Value as a ReferenceValue.
      Overrides:
      referenceValue in class Value
    • instructionOffsetValue

      public final InstructionOffsetValue instructionOffsetValue()
      Description copied from class: Value
      Returns this Value as an InstructionOffsetValue.
      Overrides:
      instructionOffsetValue in class Value
    • isSpecific

      public boolean isSpecific()
      Description copied from class: Value
      Returns whether this Value represents a single specific (but possibly unknown) value.
      Overrides:
      isSpecific in class Value
    • isParticular

      public boolean isParticular()
      Description copied from class: Value
      Returns whether this Value represents a single particular (known) value.
      Overrides:
      isParticular in class Value
    • generalize

      public final Value generalize(Value other)
      Description copied from class: Value
      Returns the generalization of this Value and the given other Value.
      Specified by:
      generalize in class Value
    • isCategory2

      public boolean isCategory2()
      Description copied from class: Value
      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.
      Specified by:
      isCategory2 in class Value
    • computationalType

      public final int computationalType()
      Description copied from class: Value
      Returns the computational type of this Value.
      Specified by:
      computationalType in class Value
      Returns:
      TYPE_INTEGER, TYPE_LONG, TYPE_FLOAT, TYPE_DOUBLE, TYPE_REFERENCE, or TYPE_INSTRUCTION_OFFSET.
    • internalType

      public final String internalType()
      Description copied from class: Value
      Returns the internal type of this Value.
      Specified by:
      internalType in class Value
      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(Object object)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object