Class AstPrinterVisitor
java.lang.Object
dev.frostlake.executor.expressions.AstPrinterVisitor
- All Implemented Interfaces:
ExpressionVisitor<String>
Renders an
Expression AST into a compact, canonical S-expression string.
Purpose: stable, human-readable assertions in parser/builder tests and old-vs-new
parser diffing during the migration to an ANTLR-driven expression AST. The rendered
form is deliberately independent of each node's own toString() so it can stay
stable as the nodes evolve.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic Stringprint(Expression expression) Convenience: render an expression to its canonical string.visitCast(CastExpression expr) visitIn(InExpression expr) visitIsNull(IsNullExpression expr) visitLambda(LambdaExpression expr) visitSpread(SpreadExpression expr)
-
Constructor Details
-
AstPrinterVisitor
public AstPrinterVisitor()
-
-
Method Details
-
print
Convenience: render an expression to its canonical string. -
visitDefaultMarker
- Specified by:
visitDefaultMarkerin interfaceExpressionVisitor<String>
-
visitLiteral
- Specified by:
visitLiteralin interfaceExpressionVisitor<String>
-
visitColumnReference
- Specified by:
visitColumnReferencein interfaceExpressionVisitor<String>
-
visitBinaryOperation
- Specified by:
visitBinaryOperationin interfaceExpressionVisitor<String>
-
visitUnaryOperation
- Specified by:
visitUnaryOperationin interfaceExpressionVisitor<String>
-
visitIsNull
- Specified by:
visitIsNullin interfaceExpressionVisitor<String>
-
visitLambda
- Specified by:
visitLambdain interfaceExpressionVisitor<String>
-
visitFunctionCall
- Specified by:
visitFunctionCallin interfaceExpressionVisitor<String>
-
visitCaseExpression
- Specified by:
visitCaseExpressionin interfaceExpressionVisitor<String>
-
visitCast
- Specified by:
visitCastin interfaceExpressionVisitor<String>
-
visitObjectAccess
- Specified by:
visitObjectAccessin interfaceExpressionVisitor<String>
-
visitArrayAccess
- Specified by:
visitArrayAccessin interfaceExpressionVisitor<String>
-
visitSubquery
- Specified by:
visitSubqueryin interfaceExpressionVisitor<String>
-
visitExecuteImmediate
- Specified by:
visitExecuteImmediatein interfaceExpressionVisitor<String>
-
visitJsonObject
- Specified by:
visitJsonObjectin interfaceExpressionVisitor<String>
-
visitJsonArray
- Specified by:
visitJsonArrayin interfaceExpressionVisitor<String>
-
visitBetween
- Specified by:
visitBetweenin interfaceExpressionVisitor<String>
-
visitLikeAnyAll
- Specified by:
visitLikeAnyAllin interfaceExpressionVisitor<String>
-
visitIn
- Specified by:
visitInin interfaceExpressionVisitor<String>
-
visitTupleIn
- Specified by:
visitTupleInin interfaceExpressionVisitor<String>
-
visitQuantifiedComparison
- Specified by:
visitQuantifiedComparisonin interfaceExpressionVisitor<String>
-
visitInterval
- Specified by:
visitIntervalin interfaceExpressionVisitor<String>
-
visitSessionVar
- Specified by:
visitSessionVarin interfaceExpressionVisitor<String>
-
visitBindVariable
- Specified by:
visitBindVariablein interfaceExpressionVisitor<String>
-
visitSystemStreamHasData
- Specified by:
visitSystemStreamHasDatain interfaceExpressionVisitor<String>
-
visitSystemUserTaskCancel
- Specified by:
visitSystemUserTaskCancelin interfaceExpressionVisitor<String>
-
visitWindowFunction
- Specified by:
visitWindowFunctionin interfaceExpressionVisitor<String>
-
visitSpread
- Specified by:
visitSpreadin interfaceExpressionVisitor<String>
-