Interface ExpressionVisitor<R>
- Type Parameters:
R- Return type of the visitor.
- All Known Implementing Classes:
ExpressionVisitor.Default,RuleEvaluator,TraversingVisitor
public interface ExpressionVisitor<R>
Expression visitor pattern.
-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptionvisitBoolEquals(Expression left, Expression right) Does a boolean equality check.visitGetAttr(GetAttr getAttr) Visits a GetAttr function.visitIsSet(Expression fn) Visits an isSet function.visitLibraryFunction(FunctionDefinition fn, List<Expression> args) Visits a library function.visitLiteral(Literal literal) Visits a literal.visitNot(Expression not) Visits a not function.Visits a reference.visitStringEquals(Expression left, Expression right) Does a string equality check.
-
Method Details
-
visitLiteral
Visits a literal.- Parameters:
literal- the literal to visit.- Returns:
- the value from the visitor.
-
visitRef
Visits a reference.- Parameters:
reference- the reference to visit.- Returns:
- the value from the visitor.
-
visitGetAttr
Visits a GetAttr function.- Parameters:
getAttr- the GetAttr function to visit.- Returns:
- the value from the visitor.
-
visitIsSet
Visits an isSet function.- Parameters:
fn- the isSet function to visit.- Returns:
- the value from the visitor.
-
visitNot
Visits a not function.- Parameters:
not- the not function to visit.- Returns:
- the value from the visitor.
-
visitBoolEquals
Does a boolean equality check.- Parameters:
left- the first value to compare.right- the second value to compare.- Returns:
- the value from the visitor.
-
visitStringEquals
Does a string equality check.- Parameters:
left- the first value to compare.right- the second value to compare.- Returns:
- the value from the visitor.
-
visitLibraryFunction
Visits a library function.- Parameters:
fn- the library function to visit.args- the arguments to the function being visited.- Returns:
- the value from the visitor.
-