Package dev.cel.parser
Class CelUnparserVisitor
- java.lang.Object
-
- dev.cel.common.ast.CelExprVisitor
-
- dev.cel.parser.CelUnparserVisitor
-
public class CelUnparserVisitor extends CelExprVisitor
Visitor implementation to unparse an AST.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class dev.cel.common.ast.CelExprVisitor
CelExprVisitor.ComprehensionArg
-
-
Field Summary
Fields Modifier and Type Field Description protected dev.cel.common.CelAbstractSyntaxTreeastprotected static java.lang.StringBACKTICKprotected static java.lang.StringCOLONprotected static java.lang.StringCOMMAprotected static java.lang.StringDOTprotected static java.lang.StringLEFT_BRACEprotected static java.lang.StringLEFT_BRACKETprotected static java.lang.StringLEFT_PARENprotected static java.lang.StringQUESTION_MARKprotected static java.lang.StringRIGHT_BRACEprotected static java.lang.StringRIGHT_BRACKETprotected static java.lang.StringRIGHT_PARENprotected dev.cel.common.CelSourcesourceInfoprotected static java.lang.StringSPACEprotected java.lang.StringBuilderstringBuilder
-
Constructor Summary
Constructors Constructor Description CelUnparserVisitor(dev.cel.common.CelAbstractSyntaxTree ast)Creates a newCelUnparserVisitor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected booleanisBinaryOrTernaryOperator(dev.cel.common.ast.CelExpr expr)java.lang.Stringunparse()java.lang.Stringunparse(dev.cel.common.ast.CelExpr expr)Unparses a specificCelExprnode within the AST.voidvisit(dev.cel.common.ast.CelExpr expr)Visit theexprvalue, routing to overloads based on the kind of expression.protected voidvisit(dev.cel.common.ast.CelExpr expr, dev.cel.common.ast.CelConstant constant)Visit aCelConstantexpression.protected voidvisit(dev.cel.common.ast.CelExpr expr, dev.cel.common.ast.CelExpr.CelCall call)Visit aCelCallexpression.protected voidvisit(dev.cel.common.ast.CelExpr expr, dev.cel.common.ast.CelExpr.CelComprehension comprehension)Visit aCelComprehensionexpression.protected voidvisit(dev.cel.common.ast.CelExpr expr, dev.cel.common.ast.CelExpr.CelIdent ident)Visit anCelIdentexpression.protected voidvisit(dev.cel.common.ast.CelExpr expr, dev.cel.common.ast.CelExpr.CelList list)Visit aCelListexpression.protected voidvisit(dev.cel.common.ast.CelExpr expr, dev.cel.common.ast.CelExpr.CelMap map)Visit aCelMapexpression.protected voidvisit(dev.cel.common.ast.CelExpr expr, dev.cel.common.ast.CelExpr.CelSelect select)Visit aCelSelectexpression.protected voidvisit(dev.cel.common.ast.CelExpr expr, dev.cel.common.ast.CelExpr.CelStruct struct)Visit aCelStructexpression.protected voidvisitMaybeNested(dev.cel.common.ast.CelExpr expr, boolean nested)-
Methods inherited from class dev.cel.common.ast.CelExprVisitor
visit, visitArg
-
-
-
-
Field Detail
-
LEFT_PAREN
protected static final java.lang.String LEFT_PAREN
- See Also:
- Constant Field Values
-
RIGHT_PAREN
protected static final java.lang.String RIGHT_PAREN
- See Also:
- Constant Field Values
-
DOT
protected static final java.lang.String DOT
- See Also:
- Constant Field Values
-
COMMA
protected static final java.lang.String COMMA
- See Also:
- Constant Field Values
-
SPACE
protected static final java.lang.String SPACE
- See Also:
- Constant Field Values
-
LEFT_BRACKET
protected static final java.lang.String LEFT_BRACKET
- See Also:
- Constant Field Values
-
RIGHT_BRACKET
protected static final java.lang.String RIGHT_BRACKET
- See Also:
- Constant Field Values
-
LEFT_BRACE
protected static final java.lang.String LEFT_BRACE
- See Also:
- Constant Field Values
-
RIGHT_BRACE
protected static final java.lang.String RIGHT_BRACE
- See Also:
- Constant Field Values
-
COLON
protected static final java.lang.String COLON
- See Also:
- Constant Field Values
-
QUESTION_MARK
protected static final java.lang.String QUESTION_MARK
- See Also:
- Constant Field Values
-
BACKTICK
protected static final java.lang.String BACKTICK
- See Also:
- Constant Field Values
-
ast
protected final dev.cel.common.CelAbstractSyntaxTree ast
-
sourceInfo
protected final dev.cel.common.CelSource sourceInfo
-
stringBuilder
protected final java.lang.StringBuilder stringBuilder
-
-
Constructor Detail
-
CelUnparserVisitor
public CelUnparserVisitor(dev.cel.common.CelAbstractSyntaxTree ast)
Creates a newCelUnparserVisitor.
-
-
Method Detail
-
unparse
public java.lang.String unparse()
-
unparse
public java.lang.String unparse(dev.cel.common.ast.CelExpr expr)
Unparses a specificCelExprnode within the AST.This method exists to allow unparsing of an arbitrary node within the stored AST in this visitor.
-
visit
public void visit(dev.cel.common.ast.CelExpr expr)
Description copied from class:CelExprVisitorVisit theexprvalue, routing to overloads based on the kind of expression.- Overrides:
visitin classCelExprVisitor
-
visit
protected void visit(dev.cel.common.ast.CelExpr expr, dev.cel.common.ast.CelConstant constant)Description copied from class:CelExprVisitorVisit aCelConstantexpression.- Overrides:
visitin classCelExprVisitor
-
visit
protected void visit(dev.cel.common.ast.CelExpr expr, dev.cel.common.ast.CelExpr.CelIdent ident)Description copied from class:CelExprVisitorVisit anCelIdentexpression.- Overrides:
visitin classCelExprVisitor
-
visit
protected void visit(dev.cel.common.ast.CelExpr expr, dev.cel.common.ast.CelExpr.CelSelect select)Description copied from class:CelExprVisitorVisit aCelSelectexpression.- Overrides:
visitin classCelExprVisitor
-
visit
protected void visit(dev.cel.common.ast.CelExpr expr, dev.cel.common.ast.CelExpr.CelCall call)Description copied from class:CelExprVisitorVisit aCelCallexpression.Arguments to the call are provided to the
CelExprVisitor.visitArg(dev.cel.common.ast.CelExpr, dev.cel.common.ast.CelExpr, int)function after they have beenvisited.- Overrides:
visitin classCelExprVisitor
-
visit
protected void visit(dev.cel.common.ast.CelExpr expr, dev.cel.common.ast.CelExpr.CelList list)Description copied from class:CelExprVisitorVisit aCelListexpression.- Overrides:
visitin classCelExprVisitor
-
visit
protected void visit(dev.cel.common.ast.CelExpr expr, dev.cel.common.ast.CelExpr.CelStruct struct)Description copied from class:CelExprVisitorVisit aCelStructexpression.- Overrides:
visitin classCelExprVisitor
-
visit
protected void visit(dev.cel.common.ast.CelExpr expr, dev.cel.common.ast.CelExpr.CelMap map)Description copied from class:CelExprVisitorVisit aCelMapexpression.- Overrides:
visitin classCelExprVisitor
-
visit
protected void visit(dev.cel.common.ast.CelExpr expr, dev.cel.common.ast.CelExpr.CelComprehension comprehension)Description copied from class:CelExprVisitorVisit aCelComprehensionexpression.Arguments to the comprehension are provided to the
CelExprVisitor.visitArg(dev.cel.common.ast.CelExpr, dev.cel.common.ast.CelExpr, int)function after they have beenvisited.- Overrides:
visitin classCelExprVisitor
-
visitMaybeNested
protected void visitMaybeNested(dev.cel.common.ast.CelExpr expr, boolean nested)
-
isBinaryOrTernaryOperator
protected boolean isBinaryOrTernaryOperator(dev.cel.common.ast.CelExpr expr)
-
-