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
FieldsModifier and TypeFieldDescriptionprotected org.sosy_lab.java_smt.api.ArrayFormulaManagerJava-smt formula manager for array theoryprotected org.sosy_lab.java_smt.api.SolverContextSolver 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 ArrayArrayValueprotected IntValueInteger 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
ConstructorsConstructorDescriptionAbstractArrayValue(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.BooleanFormulacheckIndex(IntValue idx) genericToString(String type) org.sosy_lab.java_smt.api.SolverContextabstract VEgetElement(IntValue idx) Returns the formula that represents the element at the specified index.protected abstract voidinitArray(int size) Initializes the array with the default value.abstract voidstoreElement(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, toStringMethods 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:
asArrayValuein 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:
asObjectArrayValuein 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
-