Class AbstractArrayValue<TI extends org.sosy_lab.java_smt.api.Formula,TE extends org.sosy_lab.java_smt.api.Formula,VI extends Value<?,?>,VE extends Value<?,?>,K>
java.lang.Object
de.uzl.its.swat.symbolic.value.Value<T,K>
de.uzl.its.swat.symbolic.value.reference.ObjectValue<org.sosy_lab.java_smt.api.ArrayFormula<TI,TE>,K>
de.uzl.its.swat.symbolic.value.reference.array.AbstractArrayValue<TI,TE,VI,VE,K>
- Direct Known Subclasses:
ArrayArrayValue
,BooleanArrayValue
,ByteArrayValue
,CharArrayValue
,DoubleArrayValue
,FloatArrayValue
,IntArrayValue
,LongArrayValue
,ShortArrayValue
,StringArrayValue
public abstract class AbstractArrayValue<TI extends org.sosy_lab.java_smt.api.Formula,TE extends org.sosy_lab.java_smt.api.Formula,VI extends Value<?,?>,VE extends Value<?,?>,K>
extends ObjectValue<org.sosy_lab.java_smt.api.ArrayFormula<TI,TE>,K>
Abstract class for symbolic arrays.
-
Field Summary
Modifier and TypeFieldDescriptionprotected org.sosy_lab.java_smt.api.ArrayFormulaManager
Java-smt formula manager for array theoryprotected org.sosy_lab.java_smt.api.SolverContext
Solver context to interact with the native solver (used for creating formulas)protected org.sosy_lab.java_smt.api.FormulaType<TE>
Formula type used for the elements of the symbolic arrayFormula type representing the index - element pairprotected org.sosy_lab.java_smt.api.FormulaType<TI>
Formula type used for the indices of the symbolic arrayprotected ArrayArrayValue
protected IntValue
Integer wrapper that represents the size of the arrayFields inherited from class de.uzl.its.swat.symbolic.value.reference.ObjectValue
address, ADDRESS_UNKNOWN, className
-
Constructor Summary
ConstructorDescriptionAbstractArrayValue
(org.sosy_lab.java_smt.api.SolverContext context, org.sosy_lab.java_smt.api.FormulaType<TI> indexFormulaType, org.sosy_lab.java_smt.api.FormulaType<TE> elementFormulaType, IntValue size, int address) AbstractArrayValue
(org.sosy_lab.java_smt.api.SolverContext context, org.sosy_lab.java_smt.api.FormulaType<TI> indexFormulaType, org.sosy_lab.java_smt.api.FormulaType<TE> elementFormulaType, org.sosy_lab.java_smt.api.ArrayFormula<TI, TE> formula, IntValue size, int address) -
Method Summary
Modifier and TypeMethodDescriptionorg.sosy_lab.java_smt.api.BooleanFormula
checkIndex
(IntValue idx) genericToString
(String type) org.sosy_lab.java_smt.api.SolverContext
abstract VE
getElement
(IntValue idx) Returns the formula that represents the element at the specified index.protected abstract void
initArray
(int size) Initializes the array with the default value.abstract void
storeElement
(IntValue idx, VE val) Stores the formula representing an element at the position specified by the index formula.Methods inherited from class de.uzl.its.swat.symbolic.value.reference.ObjectValue
asFloatValue, asIntValue, asObjectValue, equals, getAddress, getConcrete, getField, getFields, getnFields, IF_ACMPEQ, IF_ACMPNE, IFNONNULL, IFNULL, invokeMethod, MAKE_SYMBOLIC, MAKE_SYMBOLIC, setAddress, setField, setFields, toString
Methods inherited from class de.uzl.its.swat.symbolic.value.Value
asBooleanValue, asByteValue, asCharValue, asDoubleValue, asLongValue, asNumericalValue, asShortValue, asStringValue, getBounds, getConcreteEncoded, getName, getType, initSymbolic, initSymbolic, MAKE_SYMBOLIC, reset
-
Field Details
-
amgr
protected org.sosy_lab.java_smt.api.ArrayFormulaManager amgrJava-smt formula manager for array theory -
context
protected org.sosy_lab.java_smt.api.SolverContext contextSolver context to interact with the native solver (used for creating formulas) -
indexFormulaType
protected org.sosy_lab.java_smt.api.FormulaType<TI extends org.sosy_lab.java_smt.api.Formula> indexFormulaTypeFormula type used for the indices of the symbolic array -
elementFormulaType
protected org.sosy_lab.java_smt.api.FormulaType<TE extends org.sosy_lab.java_smt.api.Formula> elementFormulaTypeFormula type used for the elements of the symbolic array -
formulaType
protected org.sosy_lab.java_smt.api.FormulaType.ArrayFormulaType<TI extends org.sosy_lab.java_smt.api.Formula,TE extends org.sosy_lab.java_smt.api.Formula> formulaTypeFormula type representing the index - element pair -
size
Integer wrapper that represents the size of the array -
parentRefIdx
-
parentRef
-
-
Constructor Details
-
AbstractArrayValue
-
AbstractArrayValue
-
-
Method Details
-
getElement
Returns the formula that represents the element at the specified index.- Parameters:
idx
- The formula that specifies the index.- Returns:
- The formula that specifies the retrieved/ retrievable element.
-
storeElement
Stores the formula representing an element at the position specified by the index formula.- Parameters:
idx
- The index formula.val
- The element formula.
-
checkIndex
-
initArray
protected abstract void initArray(int size) Initializes the array with the default value.- Parameters:
size
- The size of the array.
-
asArrayValue
- Overrides:
asArrayValue
in classObjectValue<org.sosy_lab.java_smt.api.ArrayFormula<TI extends org.sosy_lab.java_smt.api.Formula,
TE extends org.sosy_lab.java_smt.api.Formula>, K>
-
asIntArrayValue
-
asBooleanArrayValue
-
asLongArrayValue
-
asFloatArrayValue
-
asObjectArrayValue
- Overrides:
asObjectArrayValue
in classObjectValue<org.sosy_lab.java_smt.api.ArrayFormula<TI extends org.sosy_lab.java_smt.api.Formula,
TE extends org.sosy_lab.java_smt.api.Formula>, K>
-
asByteArrayValue
-
asCharArrayValue
-
asDoubleArrayValue
-
asShortArrayValue
-
getContext
public org.sosy_lab.java_smt.api.SolverContext getContext() -
genericToString
-