Class TracingValue


  • public class TracingValue
    extends Value
    Representation of a value that has been tagged with a sticky trace value.
    • Constructor Detail

      • TracingValue

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

      • generalize

        public final TracingValue generalize​(TracingValue other)
        Returns the generalization of this TracingValue and the given other TracingValue.
      • 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
      • 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 java.lang.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​(java.lang.Object object)
        Overrides:
        equals in class java.lang.Object
      • hashCode

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

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object