Package org.rumbledb.compiler
Class ComposabilityVisitor
Visitor checks rules for composing statements based on sequential properties
or nesting (e.g., break statements).
The visitor passes a node representing the innermost control statement (while or FLWOR), and for some of the rules
applies checks to verify if loops enclose the visited node type.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvisitAssignStatement
(AssignStatement expression, Node argument) visitBreakStatement
(BreakStatement expression, Node argument) visitConditionalStatement
(ConditionalStatement expression, Node argument) visitContinueStatement
(ContinueStatement expression, Node argument) visitFlowrStatement
(FlowrStatement expression, Node argument) visitMainModule
(MainModule mainModule, Node argument) visitProgram
(Program expression, Node argument) visitProlog
(Prolog expression, Node argument) visitStatementsAndExpr
(StatementsAndExpr statementsAndExpr, Node argument) visitStatementsAndOptionalExpr
(StatementsAndOptionalExpr statementsAndOptionalExpr, Node argument) visitVariableDeclaration
(VariableDeclaration expression, Node argument) visitVariableDeclStatement
(VariableDeclStatement statement, Node argument) visitWhileStatement
(WhileStatement expression, Node argument) Methods inherited from class org.rumbledb.expressions.AbstractNodeVisitor
defaultAction, visit, visitAdditiveExpr, visitAndExpr, visitAppendExpression, visitApplyStatement, visitArrayConstructor, visitArrayLookupExpression, visitArrayUnboxingExpression, visitAttributeNode, visitAttributeNodeContent, visitBlockExpr, visitBlockStatement, visitBoolean, visitCastableExpression, visitCastExpression, visitCommaExpression, visitCommaVariableDeclStatement, visitComparisonExpr, visitComputedAttributeConstructor, visitComputedElementConstructor, visitConditionalExpression, visitContextExpr, visitCountClause, visitCreateCollectionExpression, visitDecimal, visitDeleteExpression, visitDeleteIndexFromCollectionExpression, visitDeleteSearchFromCollectionExpression, visitDescendants, visitDirElemConstructor, visitDocumentNodeConstructor, visitDouble, visitDynamicFunctionCallExpression, visitEditCollectionExpression, visitExitStatement, visitFilterExpression, visitFlowrExpression, visitForClause, visitFunctionCall, visitFunctionDeclaration, visitGroupByClause, visitInlineFunctionExpr, visitInsertExpression, visitInsertIndexIntoCollectionExpression, visitInsertSearchIntoCollectionExpression, visitInstanceOfExpression, visitInteger, visitIsStaticallyExpr, visitLetClause, visitLibraryModule, visitMultiplicativeExpr, visitNamedFunctionRef, visitNodeComparisonExpr, visitNotExpr, visitNull, visitObjectConstructor, visitObjectLookupExpression, visitOrderByClause, visitOrExpr, visitPostfixLookupExpression, visitRangeExpr, visitRenameExpression, visitReplaceExpression, visitReturnClause, visitReturnStatementClause, visitSimpleMapExpr, visitSlashExpr, visitStepExpr, visitString, visitStringConcatExpr, visitSwitchExpression, visitSwitchStatement, visitTextNode, visitTextNodeConstructor, visitTransformExpression, visitTreatExpression, visitTruncateCollectionExpression, visitTryCatchExpression, visitTryCatchStatement, visitTypeDeclaration, visitTypeSwitchExpression, visitTypeSwitchStatement, visitUnaryExpr, visitUnaryLookupExpression, visitValidateTypeExpression, visitVariableReference, visitWhereClause
-
Constructor Details
-
ComposabilityVisitor
public ComposabilityVisitor()
-
-
Method Details
-
visitMainModule
- Overrides:
visitMainModule
in classAbstractNodeVisitor<Node>
-
visitProlog
- Overrides:
visitProlog
in classAbstractNodeVisitor<Node>
-
visitProgram
- Overrides:
visitProgram
in classAbstractNodeVisitor<Node>
-
visitStatementsAndExpr
- Overrides:
visitStatementsAndExpr
in classAbstractNodeVisitor<Node>
-
visitStatementsAndOptionalExpr
public Node visitStatementsAndOptionalExpr(StatementsAndOptionalExpr statementsAndOptionalExpr, Node argument) - Overrides:
visitStatementsAndOptionalExpr
in classAbstractNodeVisitor<Node>
-
visitAssignStatement
- Overrides:
visitAssignStatement
in classAbstractNodeVisitor<Node>
-
visitVariableDeclStatement
- Overrides:
visitVariableDeclStatement
in classAbstractNodeVisitor<Node>
-
visitWhileStatement
- Overrides:
visitWhileStatement
in classAbstractNodeVisitor<Node>
-
visitFlowrStatement
- Overrides:
visitFlowrStatement
in classAbstractNodeVisitor<Node>
-
visitConditionalStatement
- Overrides:
visitConditionalStatement
in classAbstractNodeVisitor<Node>
-
visitVariableDeclaration
- Overrides:
visitVariableDeclaration
in classAbstractNodeVisitor<Node>
-
visitBreakStatement
- Overrides:
visitBreakStatement
in classAbstractNodeVisitor<Node>
-
visitContinueStatement
- Overrides:
visitContinueStatement
in classAbstractNodeVisitor<Node>
-