Package org.rumbledb.compiler
Class StaticContextVisitor
java.lang.Object
org.rumbledb.expressions.AbstractNodeVisitor<StaticContext>
org.rumbledb.compiler.StaticContextVisitor
Static context visitor implements a multi-pass algorithm that enables function hoisting
-
Method Summary
Modifier and TypeMethodDescriptionprotected StaticContext
defaultAction
(Node node, StaticContext argument) visit
(Node node, StaticContext argument) visitAssignStatement
(AssignStatement statement, StaticContext argument) visitBlockStatement
(BlockStatement statement, StaticContext argument) visitCastableExpression
(CastableExpression expression, StaticContext argument) visitCastExpression
(CastExpression expression, StaticContext argument) visitCommaVariableDeclStatement
(CommaVariableDeclStatement statement, StaticContext argument) visitConditionalStatement
(ConditionalStatement statement, StaticContext argument) visitCountClause
(CountClause clause, StaticContext argument) visitFlowrExpression
(FlworExpression expression, StaticContext argument) visitFlowrStatement
(FlowrStatement statement, StaticContext argument) visitForClause
(ForClause clause, StaticContext argument) visitFunctionDeclaration
(FunctionDeclaration declaration, StaticContext argument) visitGroupByClause
(GroupByClause clause, StaticContext argument) visitInlineFunctionExpr
(InlineFunctionExpression expression, StaticContext argument) visitInstanceOfExpression
(InstanceOfExpression expression, StaticContext argument) visitLetClause
(LetClause clause, StaticContext argument) visitLibraryModule
(LibraryModule libraryModule, StaticContext argument) visitMainModule
(MainModule mainModule, StaticContext argument) visitOrderByClause
(OrderByClause clause, StaticContext argument) visitProgram
(Program program, StaticContext argument) visitProlog
(Prolog prolog, StaticContext argument) visitReturnClause
(ReturnClause clause, StaticContext argument) visitReturnStatementClause
(ReturnStatementClause clause, StaticContext argument) visitStatementsAndExpr
(StatementsAndExpr statementsAndExpr, StaticContext argument) visitStatementsAndOptionalExpr
(StatementsAndOptionalExpr statementsAndOptionalExpr, StaticContext argument) visitSwitchStatement
(SwitchStatement statement, StaticContext argument) visitTransformExpression
(TransformExpression expression, StaticContext argument) visitTreatExpression
(TreatExpression expression, StaticContext argument) visitTypeDeclaration
(TypeDeclaration declaration, StaticContext argument) visitTypeSwitchExpression
(TypeSwitchExpression expression, StaticContext argument) visitTypeSwitchStatement
(TypeSwitchStatement statement, StaticContext argument) visitValidateTypeExpression
(ValidateTypeExpression expression, StaticContext argument) visitVariableDeclaration
(VariableDeclaration variableDeclaration, StaticContext argument) visitVariableDeclStatement
(VariableDeclStatement variableDeclStatement, StaticContext argument) visitVariableReference
(VariableReferenceExpression expression, StaticContext argument) visitWhereClause
(WhereClause clause, StaticContext argument) Methods inherited from class org.rumbledb.expressions.AbstractNodeVisitor
visitAdditiveExpr, visitAndExpr, visitAppendExpression, visitApplyStatement, visitArrayConstructor, visitArrayLookupExpression, visitArrayUnboxingExpression, visitAttributeNode, visitAttributeNodeContent, visitBlockExpr, visitBoolean, visitBreakStatement, visitCommaExpression, visitComparisonExpr, visitComputedAttributeConstructor, visitComputedElementConstructor, visitConditionalExpression, visitContextExpr, visitContinueStatement, visitCreateCollectionExpression, visitDecimal, visitDeleteExpression, visitDeleteIndexFromCollectionExpression, visitDeleteSearchFromCollectionExpression, visitDescendants, visitDirElemConstructor, visitDocumentNodeConstructor, visitDouble, visitDynamicFunctionCallExpression, visitEditCollectionExpression, visitExitStatement, visitFilterExpression, visitFunctionCall, visitInsertExpression, visitInsertIndexIntoCollectionExpression, visitInsertSearchIntoCollectionExpression, visitInteger, visitIsStaticallyExpr, visitMultiplicativeExpr, visitNamedFunctionRef, visitNodeComparisonExpr, visitNotExpr, visitNull, visitObjectConstructor, visitObjectLookupExpression, visitOrExpr, visitPostfixLookupExpression, visitRangeExpr, visitRenameExpression, visitReplaceExpression, visitSimpleMapExpr, visitSlashExpr, visitStepExpr, visitString, visitStringConcatExpr, visitSwitchExpression, visitTextNode, visitTextNodeConstructor, visitTruncateCollectionExpression, visitTryCatchExpression, visitTryCatchStatement, visitUnaryExpr, visitUnaryLookupExpression, visitWhileStatement
-
Method Details
-
defaultAction
- Overrides:
defaultAction
in classAbstractNodeVisitor<StaticContext>
-
visit
- Overrides:
visit
in classAbstractNodeVisitor<StaticContext>
-
visitMainModule
- Overrides:
visitMainModule
in classAbstractNodeVisitor<StaticContext>
-
visitLibraryModule
- Overrides:
visitLibraryModule
in classAbstractNodeVisitor<StaticContext>
-
visitVariableReference
public StaticContext visitVariableReference(VariableReferenceExpression expression, StaticContext argument) - Overrides:
visitVariableReference
in classAbstractNodeVisitor<StaticContext>
-
visitFunctionDeclaration
public StaticContext visitFunctionDeclaration(FunctionDeclaration declaration, StaticContext argument) - Overrides:
visitFunctionDeclaration
in classAbstractNodeVisitor<StaticContext>
-
visitInlineFunctionExpr
public StaticContext visitInlineFunctionExpr(InlineFunctionExpression expression, StaticContext argument) - Overrides:
visitInlineFunctionExpr
in classAbstractNodeVisitor<StaticContext>
-
visitFlowrExpression
- Overrides:
visitFlowrExpression
in classAbstractNodeVisitor<StaticContext>
-
visitForClause
- Overrides:
visitForClause
in classAbstractNodeVisitor<StaticContext>
-
visitLetClause
- Overrides:
visitLetClause
in classAbstractNodeVisitor<StaticContext>
-
visitWhereClause
- Overrides:
visitWhereClause
in classAbstractNodeVisitor<StaticContext>
-
visitGroupByClause
- Overrides:
visitGroupByClause
in classAbstractNodeVisitor<StaticContext>
-
visitOrderByClause
- Overrides:
visitOrderByClause
in classAbstractNodeVisitor<StaticContext>
-
visitCountClause
- Overrides:
visitCountClause
in classAbstractNodeVisitor<StaticContext>
-
visitReturnClause
- Overrides:
visitReturnClause
in classAbstractNodeVisitor<StaticContext>
-
visitTypeSwitchExpression
public StaticContext visitTypeSwitchExpression(TypeSwitchExpression expression, StaticContext argument) - Overrides:
visitTypeSwitchExpression
in classAbstractNodeVisitor<StaticContext>
-
visitVariableDeclaration
public StaticContext visitVariableDeclaration(VariableDeclaration variableDeclaration, StaticContext argument) - Overrides:
visitVariableDeclaration
in classAbstractNodeVisitor<StaticContext>
-
visitCommaVariableDeclStatement
public StaticContext visitCommaVariableDeclStatement(CommaVariableDeclStatement statement, StaticContext argument) - Overrides:
visitCommaVariableDeclStatement
in classAbstractNodeVisitor<StaticContext>
-
visitTransformExpression
public StaticContext visitTransformExpression(TransformExpression expression, StaticContext argument) - Overrides:
visitTransformExpression
in classAbstractNodeVisitor<StaticContext>
-
visitTypeDeclaration
- Overrides:
visitTypeDeclaration
in classAbstractNodeVisitor<StaticContext>
-
visitProlog
- Overrides:
visitProlog
in classAbstractNodeVisitor<StaticContext>
-
visitValidateTypeExpression
public StaticContext visitValidateTypeExpression(ValidateTypeExpression expression, StaticContext argument) - Overrides:
visitValidateTypeExpression
in classAbstractNodeVisitor<StaticContext>
-
visitCastExpression
- Overrides:
visitCastExpression
in classAbstractNodeVisitor<StaticContext>
-
visitCastableExpression
- Overrides:
visitCastableExpression
in classAbstractNodeVisitor<StaticContext>
-
visitTreatExpression
- Overrides:
visitTreatExpression
in classAbstractNodeVisitor<StaticContext>
-
visitInstanceOfExpression
public StaticContext visitInstanceOfExpression(InstanceOfExpression expression, StaticContext argument) - Overrides:
visitInstanceOfExpression
in classAbstractNodeVisitor<StaticContext>
-
visitVariableDeclStatement
public StaticContext visitVariableDeclStatement(VariableDeclStatement variableDeclStatement, StaticContext argument) - Overrides:
visitVariableDeclStatement
in classAbstractNodeVisitor<StaticContext>
-
visitProgram
- Overrides:
visitProgram
in classAbstractNodeVisitor<StaticContext>
-
visitBlockStatement
- Overrides:
visitBlockStatement
in classAbstractNodeVisitor<StaticContext>
-
visitStatementsAndExpr
public StaticContext visitStatementsAndExpr(StatementsAndExpr statementsAndExpr, StaticContext argument) - Overrides:
visitStatementsAndExpr
in classAbstractNodeVisitor<StaticContext>
-
visitStatementsAndOptionalExpr
public StaticContext visitStatementsAndOptionalExpr(StatementsAndOptionalExpr statementsAndOptionalExpr, StaticContext argument) - Overrides:
visitStatementsAndOptionalExpr
in classAbstractNodeVisitor<StaticContext>
-
visitTypeSwitchStatement
public StaticContext visitTypeSwitchStatement(TypeSwitchStatement statement, StaticContext argument) - Overrides:
visitTypeSwitchStatement
in classAbstractNodeVisitor<StaticContext>
-
visitSwitchStatement
- Overrides:
visitSwitchStatement
in classAbstractNodeVisitor<StaticContext>
-
visitConditionalStatement
public StaticContext visitConditionalStatement(ConditionalStatement statement, StaticContext argument) - Overrides:
visitConditionalStatement
in classAbstractNodeVisitor<StaticContext>
-
visitAssignStatement
- Overrides:
visitAssignStatement
in classAbstractNodeVisitor<StaticContext>
-
visitFlowrStatement
- Overrides:
visitFlowrStatement
in classAbstractNodeVisitor<StaticContext>
-
visitReturnStatementClause
public StaticContext visitReturnStatementClause(ReturnStatementClause clause, StaticContext argument) - Overrides:
visitReturnStatementClause
in classAbstractNodeVisitor<StaticContext>
-