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
-
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.
-