Package org.sosy_lab.java_smt.basicimpl
Class AbstractEnumerationFormulaManager<TFormulaInfo,TType,TEnv,TFuncDecl>
java.lang.Object
org.sosy_lab.java_smt.basicimpl.AbstractEnumerationFormulaManager<TFormulaInfo,TType,TEnv,TFuncDecl>
- All Implemented Interfaces:
EnumerationFormulaManager
public abstract class AbstractEnumerationFormulaManager<TFormulaInfo,TType,TEnv,TFuncDecl>
extends Object
implements EnumerationFormulaManager
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected classThe class 'EnumType' is just a plain internal value-holding class. -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final Map<String,AbstractEnumerationFormulaManager<TFormulaInfo, TType, TEnv, TFuncDecl>.EnumType> protected final FormulaCreator<TFormulaInfo,TType, TEnv, TFuncDecl> -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAbstractEnumerationFormulaManager(FormulaCreator<TFormulaInfo, TType, TEnv, TFuncDecl> pFormulaCreator) -
Method Summary
Modifier and TypeMethodDescriptiondeclareEnumeration(String pName, Set<String> pElementNames) Declare an enumeration.protected abstract AbstractEnumerationFormulaManager<TFormulaInfo,TType, TEnv, TFuncDecl>.EnumType protected FormulaType.EnumerationFormulaTypedeclareEnumerationImpl(String pName, Set<String> pElementNames) equivalence(EnumerationFormula pF1, EnumerationFormula pF2) Make aBooleanFormulathat represents the equality of twoEnumerationFormulaof identical enumeration type.protected abstract TFormulaInfoequivalenceImpl(TFormulaInfo pF1, TFormulaInfo pF2) protected final FormulaCreator<TFormulaInfo,TType, TEnv, TFuncDecl> makeConstant(String pName, FormulaType.EnumerationFormulaType pType) Creates a constant of given enumeration type with exactly the given name.protected TFormulaInfomakeConstantImpl(String pName, FormulaType.EnumerationFormulaType pType) makeVariable(String pVar, FormulaType.EnumerationFormulaType pType) Creates a variable of given enumeration type with exactly the given name.protected TFormulaInfomakeVariableImpl(String pVar, FormulaType.EnumerationFormulaType pType) protected final TTypetoSolverType(FormulaType<?> formulaType) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.sosy_lab.java_smt.api.EnumerationFormulaManager
declareEnumeration
-
Field Details
-
enumerations
protected final Map<String,AbstractEnumerationFormulaManager<TFormulaInfo, enumerationsTType, TEnv, TFuncDecl>.EnumType> -
formulaCreator
-
-
Constructor Details
-
AbstractEnumerationFormulaManager
protected AbstractEnumerationFormulaManager(FormulaCreator<TFormulaInfo, TType, TEnv, TFuncDecl> pFormulaCreator)
-
-
Method Details
-
declareEnumeration
public FormulaType.EnumerationFormulaType declareEnumeration(String pName, Set<String> pElementNames) Description copied from interface:EnumerationFormulaManagerDeclare an enumeration.- Specified by:
declareEnumerationin interfaceEnumerationFormulaManager- Parameters:
pName- the unique name to identify the new enumeration type.pElementNames- names for all individual elements of this enumeration type.
-
declareEnumerationImpl
protected FormulaType.EnumerationFormulaType declareEnumerationImpl(String pName, Set<String> pElementNames) -
declareEnumeration0
protected abstract AbstractEnumerationFormulaManager<TFormulaInfo,TType, declareEnumeration0TEnv, TFuncDecl>.EnumType (FormulaType.EnumerationFormulaType pType) -
makeConstant
Description copied from interface:EnumerationFormulaManagerCreates a constant of given enumeration type with exactly the given name. This constant (symbol) needs to be an element from the given enumeration type.- Specified by:
makeConstantin interfaceEnumerationFormulaManager
-
makeConstantImpl
-
makeVariable
Description copied from interface:EnumerationFormulaManagerCreates a variable of given enumeration type with exactly the given name.This variable (symbol) represents a "String" for which the SMT solver needs to find a model.
Please make sure that the given name is valid in SMT-LIB2. Take a look at
FormulaManager.isValidName(java.lang.String)for further information.This method does not quote or unquote the given name, but uses the plain name "AS IS".
Formula.toString()can return a different String than the given one.- Specified by:
makeVariablein interfaceEnumerationFormulaManager
-
makeVariableImpl
-
equivalence
Description copied from interface:EnumerationFormulaManagerMake aBooleanFormulathat represents the equality of twoEnumerationFormulaof identical enumeration type.- Specified by:
equivalencein interfaceEnumerationFormulaManager
-
equivalenceImpl
-
getFormulaCreator
-
toSolverType
-