Package team.unnamed.mocha.runtime
Class ExpressionInterpreter<T>
java.lang.Object
team.unnamed.mocha.runtime.ExpressionInterpreter<T>
- All Implemented Interfaces:
ExpressionVisitor<Value>,ExecutionContext<T>
@Internal
public final class ExpressionInterpreter<T>
extends Object
implements ExpressionVisitor<Value>, ExecutionContext<T>
-
Nested Class Summary
Nested Classes -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription@NotNull Scopebindings()@NotNull ExpressionInterpreter<T><R> @NotNull ExpressionInterpreter<R>createChild(R entity) entity()@NotNull Valueeval(@NotNull Expression expression) @Nullable Objectflag()void@Nullable Valuevisit(@NotNull Expression expression) Evaluate for the given unknown expression.@NotNull ValuevisitAccess(@NotNull AccessExpression expression) Evaluate for access expression.@NotNull ValuevisitArrayAccess(@NotNull ArrayAccessExpression expression) Evaluate for array access expression.@NotNull ValuevisitBinary(@NotNull BinaryExpression expression) Evaluate for binary expression.@NotNull ValuevisitCall(@NotNull CallExpression expression) Evaluate for call expression.@NotNull ValuevisitDouble(@NotNull DoubleExpression expression) Evaluate for double expression.@NotNull ValuevisitExecutionScope(@NotNull ExecutionScopeExpression executionScope) Evaluate for execution scope expression.@NotNull ValuevisitIdentifier(@NotNull IdentifierExpression expression) Evaluate for identifier expression.@NotNull ValuevisitStatement(@NotNull StatementExpression expression) Evaluate for statement expression.@NotNull ValuevisitString(@NotNull StringExpression expression) Evaluate for string expression.@NotNull ValuevisitTernaryConditional(@NotNull TernaryConditionalExpression expression) Evaluate for ternary conditional expression.@NotNull ValuevisitUnary(@NotNull UnaryExpression expression) Evaluate for unary expression.voidwarnOnReflectiveFunctionUsage(boolean warnOnReflectiveFunctionUsage)
-
Constructor Details
-
ExpressionInterpreter
-
-
Method Details
-
warnOnReflectiveFunctionUsage
public void warnOnReflectiveFunctionUsage(boolean warnOnReflectiveFunctionUsage) -
flag
- Specified by:
flagin interfaceExecutionContext<T>
-
flag
- Specified by:
flagin interfaceExecutionContext<T>
-
entity
- Specified by:
entityin interfaceExecutionContext<T>
-
eval
- Specified by:
evalin interfaceExecutionContext<T>
-
createChild
-
createChild
-
bindings
-
popReturnValue
-
visitArrayAccess
Description copied from interface:ExpressionVisitorEvaluate for array access expression.- Specified by:
visitArrayAccessin interfaceExpressionVisitor<T>- Parameters:
expression- The expression.- Returns:
- The result.
-
visitAccess
Description copied from interface:ExpressionVisitorEvaluate for access expression.- Specified by:
visitAccessin interfaceExpressionVisitor<T>- Parameters:
expression- The expression.- Returns:
- The result.
-
visitCall
Description copied from interface:ExpressionVisitorEvaluate for call expression.- Specified by:
visitCallin interfaceExpressionVisitor<T>- Parameters:
expression- The expression.- Returns:
- The result.
-
visitDouble
Description copied from interface:ExpressionVisitorEvaluate for double expression.- Specified by:
visitDoublein interfaceExpressionVisitor<T>- Parameters:
expression- The expression.- Returns:
- The result.
-
visitExecutionScope
@NotNull public @NotNull Value visitExecutionScope(@NotNull @NotNull ExecutionScopeExpression executionScope) Description copied from interface:ExpressionVisitorEvaluate for execution scope expression.- Specified by:
visitExecutionScopein interfaceExpressionVisitor<T>- Parameters:
executionScope- The expression.- Returns:
- The result.
-
visitIdentifier
Description copied from interface:ExpressionVisitorEvaluate for identifier expression.- Specified by:
visitIdentifierin interfaceExpressionVisitor<T>- Parameters:
expression- The expression.- Returns:
- The result.
-
visitBinary
Description copied from interface:ExpressionVisitorEvaluate for binary expression.- Specified by:
visitBinaryin interfaceExpressionVisitor<T>- Parameters:
expression- The expression.- Returns:
- The result.
-
visitUnary
Description copied from interface:ExpressionVisitorEvaluate for unary expression.- Specified by:
visitUnaryin interfaceExpressionVisitor<T>- Parameters:
expression- The expression.- Returns:
- The result.
-
visitStatement
Description copied from interface:ExpressionVisitorEvaluate for statement expression.- Specified by:
visitStatementin interfaceExpressionVisitor<T>- Parameters:
expression- The expression.- Returns:
- The result.
-
visitString
Description copied from interface:ExpressionVisitorEvaluate for string expression.- Specified by:
visitStringin interfaceExpressionVisitor<T>- Parameters:
expression- The expression.- Returns:
- The result.
-
visitTernaryConditional
@NotNull public @NotNull Value visitTernaryConditional(@NotNull @NotNull TernaryConditionalExpression expression) Description copied from interface:ExpressionVisitorEvaluate for ternary conditional expression.- Specified by:
visitTernaryConditionalin interfaceExpressionVisitor<T>- Parameters:
expression- The expression.- Returns:
- The result.
-
visit
Description copied from interface:ExpressionVisitorEvaluate for the given unknown expression.- Specified by:
visitin interfaceExpressionVisitor<T>- Parameters:
expression- The expression.- Returns:
- The result.
-