Class ReferenceValue

    • Constructor Detail

      • ReferenceValue

        public ReferenceValue()
    • Method Detail

      • value

        @Deprecated
        public java.lang.Object value()
        Deprecated.
        Returns the value.

        Deprecated, use getValue() instead.

      • getType

        public abstract java.lang.String getType()
        Returns the type.
      • getReferencedClass

        public abstract Clazz getReferencedClass()
        Returns the class that is referenced by the type.
      • mayBeExtension

        public abstract boolean mayBeExtension()
        Returns whether the actual type of this ReferenceValue may be an extension of its type.
      • isNull

        public abstract int isNull()
        Returns whether this ReferenceValue is null.
        Returns:
        NEVER, MAYBE, or ALWAYS.
      • instanceOf

        public abstract int instanceOf​(java.lang.String otherType,
                                       Clazz otherReferencedClass)
        Returns whether the type is an instance of the given type.
      • cast

        public abstract ReferenceValue cast​(java.lang.String type,
                                            Clazz referencedClass,
                                            ValueFactory valueFactory,
                                            boolean alwaysCast)
        Returns this ReferenceValue, cast to the given type.
      • arrayLength

        public IntegerValue arrayLength​(ValueFactory valueFactory)
        Returns the length of the array, assuming this type is an array.
      • integerArrayLoad

        public IntegerValue integerArrayLoad​(IntegerValue indexValue,
                                             ValueFactory valueFactory)
        Returns the value of the array at the given index, assuming this type is an integer array.
      • longArrayLoad

        public LongValue longArrayLoad​(IntegerValue indexValue,
                                       ValueFactory valueFactory)
        Returns the value of the array at the given index, assuming this type is an long array.
      • floatArrayLoad

        public FloatValue floatArrayLoad​(IntegerValue indexValue,
                                         ValueFactory valueFactory)
        Returns the value of the array at the given index, assuming this type is an float array.
      • doubleArrayLoad

        public DoubleValue doubleArrayLoad​(IntegerValue indexValue,
                                           ValueFactory valueFactory)
        Returns the value of the array at the given index, assuming this type is an double array.
      • referenceArrayLoad

        public ReferenceValue referenceArrayLoad​(IntegerValue indexValue,
                                                 ValueFactory valueFactory)
        Returns the value of the array at the given index, assuming this type is a reference array.
      • arrayStore

        public void arrayStore​(IntegerValue indexValue,
                               Value value)
        Stores the given value at the given index in the given array, assuming this type is an array.
      • generalize

        public abstract ReferenceValue generalize​(ReferenceValue other)
        Returns the generalization of this ReferenceValue and the given other ReferenceValue.
      • equal

        public abstract int equal​(ReferenceValue other)
        Returns whether this ReferenceValue is equal to the given other ReferenceValue.
        Returns:
        NEVER, MAYBE, or ALWAYS.
      • isNotNull

        public final int isNotNull()
        Returns whether this ReferenceValue is not null.
        Returns:
        NEVER, MAYBE, or ALWAYS.
      • notEqual

        public final int notEqual​(ReferenceValue other)
        Returns whether this ReferenceValue and the given ReferenceValue are different.
        Returns:
        NEVER, MAYBE, or ALWAYS.
      • equal

        public int equal​(UnknownReferenceValue other)
        Returns whether this ReferenceValue is equal to the given other UnknownReferenceValue.
        Returns:
        NEVER, MAYBE, or ALWAYS.
      • generalize

        public ReferenceValue generalize​(TypedReferenceValue other)
        Returns the generalization of this ReferenceValue and the given other TypedReferenceValue.
      • equal

        public int equal​(TypedReferenceValue other)
        Returns whether this ReferenceValue is equal to the given other TypedReferenceValue.
        Returns:
        NEVER, MAYBE, or ALWAYS.
      • equal

        public int equal​(IdentifiedReferenceValue other)
        Returns whether this ReferenceValue is equal to the given other IdentifiedReferenceValue.
        Returns:
        NEVER, MAYBE, or ALWAYS.
      • generalize

        public ReferenceValue generalize​(ArrayReferenceValue other)
        Returns the generalization of this ReferenceValue and the given other ArrayReferenceValue.
      • equal

        public int equal​(ArrayReferenceValue other)
        Returns whether this ReferenceValue is equal to the given other ArrayReferenceValue.
        Returns:
        NEVER, MAYBE, or ALWAYS.
      • equal

        public int equal​(IdentifiedArrayReferenceValue other)
        Returns whether this ReferenceValue is equal to the given other IdentifiedArrayReferenceValue.
        Returns:
        NEVER, MAYBE, or ALWAYS.
      • equal

        public int equal​(DetailedArrayReferenceValue other)
        Returns whether this ReferenceValue is equal to the given other DetailedArrayReferenceValue.
        Returns:
        NEVER, MAYBE, or ALWAYS.
      • generalize

        public ReferenceValue generalize​(TracedReferenceValue other)
        Returns the generalization of this ReferenceValue and the given other TracedReferenceValue.
      • equal

        public int equal​(TracedReferenceValue other)
        Returns whether this ReferenceValue is equal to the given other TracedReferenceValue.
        Returns:
        NEVER, MAYBE, or ALWAYS.
      • equal

        public int equal​(ParticularReferenceValue other)
        Returns whether this ReferenceValue is equal to the given other ParticularReferenceValue.
        Returns:
        NEVER, MAYBE, or ALWAYS.
      • 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
      • 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.
      • 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