Class DefaultFormulaVisitor<R>
java.lang.Object
org.sosy_lab.java_smt.api.visitors.DefaultFormulaVisitor<R>
- All Implemented Interfaces:
FormulaVisitor<R>
- Direct Known Subclasses:
ExpectedFormulaVisitor
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvisitBoundVariable(Formula f, int deBruijnIdx) Visit a variable bound by a quantifier.visitConstant(Formula f, Object value) Visit a constant, such as "true"/"false", a numeric constant like "1" or "1.0", a String constant like 2hello world" or enumeration constant like "Blue".protected abstract RMethod for default case, is called by all methods from this class if they are not overridden.visitFreeVariable(Formula f, String name) Visit a free variable (such as "x", "y" or "z"), not bound by a quantifier.visitFunction(Formula f, List<Formula> args, FunctionDeclaration<?> functionDeclaration) Visit an arbitrary, potentially uninterpreted function.visitQuantifier(BooleanFormula f, QuantifiedFormulaManager.Quantifier q, List<Formula> boundVariables, BooleanFormula body) Visit a quantified node.
-
Constructor Details
-
DefaultFormulaVisitor
public DefaultFormulaVisitor()
-
-
Method Details
-
visitDefault
Method for default case, is called by all methods from this class if they are not overridden.- Parameters:
f- Formula for the currently visited node.- Returns:
- An arbitrary value, will be passed through to the caller.
-
visitFreeVariable
Description copied from interface:FormulaVisitorVisit a free variable (such as "x", "y" or "z"), not bound by a quantifier. The variable can have any sort (both boolean and non-boolean).- Specified by:
visitFreeVariablein interfaceFormulaVisitor<R>- Parameters:
f- Formula representing the variable.name- Variable name.
-
visitBoundVariable
Description copied from interface:FormulaVisitorVisit a variable bound by a quantifier. The variable can have any sort (both boolean and non-boolean).- Specified by:
visitBoundVariablein interfaceFormulaVisitor<R>- Parameters:
f- Formula representing the variable.deBruijnIdx- de-Bruijn index of the bound variable, which can be used to find the matching quantifier.
-
visitConstant
Description copied from interface:FormulaVisitorVisit a constant, such as "true"/"false", a numeric constant like "1" or "1.0", a String constant like 2hello world" or enumeration constant like "Blue".- Specified by:
visitConstantin interfaceFormulaVisitor<R>- Parameters:
f- Formula representing the constant.value- The value of the constant. It is either of typeBoolean, of a subtype ofNumber(mostly aBigInteger, aBigDecimal, or aRational), orString.- Returns:
- An arbitrary return value that is passed to the caller.
-
visitFunction
Description copied from interface:FormulaVisitorVisit an arbitrary, potentially uninterpreted function. The function can have any sort.- Specified by:
visitFunctionin interfaceFormulaVisitor<R>- Parameters:
f- Input function.args- List of argumentsfunctionDeclaration- Function declaration. Can be given toFormulaManager.makeApplication(org.sosy_lab.java_smt.api.FunctionDeclaration<T>, java.util.List<? extends org.sosy_lab.java_smt.api.Formula>)to construct a new instance of the same function with different arguments.
-
visitQuantifier
public R visitQuantifier(BooleanFormula f, QuantifiedFormulaManager.Quantifier q, List<Formula> boundVariables, BooleanFormula body) Description copied from interface:FormulaVisitorVisit a quantified node.- Specified by:
visitQuantifierin interfaceFormulaVisitor<R>- Parameters:
f- Quantifier formula.q- Quantifier type: eitherFORALLorEXISTS.boundVariables- Variables bound by the quantifier. NOTE: not all solvers hold metadata about bound variables. In case this is not available, this method will be called with an empty list, yet#mkQuantifierwill work fine with an empty list as well.body- Body of the quantifier.
-