Class ObjectValue<T,K>

java.lang.Object
de.uzl.its.swat.symbolic.value.Value<T,K>
de.uzl.its.swat.symbolic.value.reference.ObjectValue<T,K>
Direct Known Subclasses:
AbstractArrayValue, CharacterObjectValue, DoubleObjectValue, EnumerationValue, FloatObjectValue, IntegerObjectValue, LambdaObjectValue, ListValue, LongObjectValue, ObjectArrayValue, StringBuilderValue, StringValue

public class ObjectValue<T,K> extends Value<T,K>
  • Field Details

    • ADDRESS_UNKNOWN

      public static final int ADDRESS_UNKNOWN
      See Also:
    • className

      public String className
    • address

      protected int address
  • Constructor Details

    • ObjectValue

      public ObjectValue(org.sosy_lab.java_smt.api.SolverContext context, int unused, int v)
    • ObjectValue

      public ObjectValue(org.sosy_lab.java_smt.api.SolverContext context, String className, IntValue nFields)
  • Method Details

    • setFields

      public void setFields(Value<?,?>[] fields)
    • getFields

      public Value<?,?>[] getFields()
    • MAKE_SYMBOLIC

      public String MAKE_SYMBOLIC(String namePrefix)
      Overrides:
      MAKE_SYMBOLIC in class Value<T,K>
    • MAKE_SYMBOLIC

      public String MAKE_SYMBOLIC()
      Overrides:
      MAKE_SYMBOLIC in class Value<T,K>
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • getnFields

      public IntValue getnFields()
    • getAddress

      public int getAddress()
    • getConcrete

      public Object getConcrete()
      Overrides:
      getConcrete in class Value<T,K>
    • IF_ACMPEQ

      public org.sosy_lab.java_smt.api.BooleanFormula IF_ACMPEQ(ObjectValue o2)
      Compares if two references are identical
      Parameters:
      o2 - The other object
      Returns:
      A BooleanValue representing the result
    • IF_ACMPNE

      public org.sosy_lab.java_smt.api.BooleanFormula IF_ACMPNE(ObjectValue o2)
      Compares if two references are not identical
      Parameters:
      o2 - The other object
      Returns:
      A BooleanFormula representing the result
    • IFNULL

      public org.sosy_lab.java_smt.api.BooleanFormula IFNULL()
      Compares if this reference is the null value; NULL is represented by the address 0
      Returns:
      A BooleanFormula representing the result
    • IFNONNULL

      public org.sosy_lab.java_smt.api.BooleanFormula IFNONNULL()
      Compares if this reference is not the null value NULL is represented by the address 0
      Returns:
      A BooleanFormula representing the result
    • getField

      public Value<?,?> getField(int fieldId)
    • setField

      public void setField(int fieldId, Value<?,?> value)
    • setAddress

      public void setAddress(int address)
    • invokeMethod

      public Value<?,?> invokeMethod(String name, org.objectweb.asm.Type[] desc, Value<?,?>[] args)
    • asObjectValue

      public ObjectValue<?,?> asObjectValue()
      Overrides:
      asObjectValue in class Value<T,K>
    • asFloatValue

      public FloatValue asFloatValue()
      Overrides:
      asFloatValue in class Value<T,K>
    • asArrayValue

      public AbstractArrayValue<?,?,?,?,?> asArrayValue()
    • asObjectArrayValue

      public ObjectArrayValue asObjectArrayValue()
    • asIntValue

      public IntValue asIntValue()
      Overrides:
      asIntValue in class Value<T,K>
    • toString

      public String toString()
      Description copied from class: Value
      Returns the string representation of the value. Should be implemented by each inheriting class.
      Overrides:
      toString in class Value<T,K>
      Returns:
      the string representation of the value