Package team.unnamed.mocha.parser.ast
Interface ExpressionVisitor<R>
- Type Parameters:
R- The visit result type
- All Known Implementing Classes:
ExpressionInterpreter,IsConstantExpression
public interface ExpressionVisitor<R>
An
Expression visitor. Provides a way to add
functionalities to the expression interface and all
of its implementations.
See the following example on visiting an expression:
Expression expr = ...;
String str = expr.visit(new ToStringVisitor());
Please note that users MUST use Expression.visit(ExpressionVisitor)
and NOT ExpressionVisitor's visit(Expression), because
it will not work as intended.
- Since:
- 3.0.0
-
Method Summary
Modifier and TypeMethodDescriptionvisit(@NotNull Expression expression) Evaluate for the given unknown expression.default RvisitAccess(@NotNull AccessExpression expression) Evaluate for access expression.default RvisitArrayAccess(@NotNull ArrayAccessExpression expression) Evaluate for array access expression.default RvisitBinary(@NotNull BinaryExpression expression) Evaluate for binary expression.default RvisitCall(@NotNull CallExpression expression) Evaluate for call expression.default RvisitDouble(@NotNull DoubleExpression expression) Evaluate for double expression.default RvisitExecutionScope(@NotNull ExecutionScopeExpression expression) Evaluate for execution scope expression.default RvisitIdentifier(@NotNull IdentifierExpression expression) Evaluate for identifier expression.default RvisitStatement(@NotNull StatementExpression expression) Evaluate for statement expression.default RvisitString(@NotNull StringExpression expression) Evaluate for string expression.default RvisitTernaryConditional(@NotNull TernaryConditionalExpression expression) Evaluate for ternary conditional expression.default RvisitUnary(@NotNull UnaryExpression expression) Evaluate for unary expression.
-
Method Details
-
visit
Evaluate for the given unknown expression.- Parameters:
expression- The expression.- Returns:
- The result.
- Since:
- 3.0.0
-
visitArrayAccess
Evaluate for array access expression.- Parameters:
expression- The expression.- Returns:
- The result.
- Since:
- 3.0.0
-
visitDouble
Evaluate for double expression.- Parameters:
expression- The expression.- Returns:
- The result.
- Since:
- 3.0.0
-
visitString
Evaluate for string expression.- Parameters:
expression- The expression.- Returns:
- The result.
- Since:
- 3.0.0
-
visitIdentifier
Evaluate for identifier expression.- Parameters:
expression- The expression.- Returns:
- The result.
- Since:
- 3.0.0
-
visitTernaryConditional
Evaluate for ternary conditional expression.- Parameters:
expression- The expression.- Returns:
- The result.
- Since:
- 3.0.0
-
visitUnary
Evaluate for unary expression.- Parameters:
expression- The expression.- Returns:
- The result.
- Since:
- 3.0.0
-
visitExecutionScope
Evaluate for execution scope expression.- Parameters:
expression- The expression.- Returns:
- The result.
- Since:
- 3.0.0
-
visitBinary
Evaluate for binary expression.- Parameters:
expression- The expression.- Returns:
- The result.
- Since:
- 3.0.0
-
visitAccess
Evaluate for access expression.- Parameters:
expression- The expression.- Returns:
- The result.
- Since:
- 3.0.0
-
visitCall
Evaluate for call expression.- Parameters:
expression- The expression.- Returns:
- The result.
- Since:
- 3.0.0
-
visitStatement
Evaluate for statement expression.- Parameters:
expression- The expression.- Returns:
- The result.
- Since:
- 3.0.0
-