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 StaticContextdefaultAction(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:
defaultActionin classAbstractNodeVisitor<StaticContext>
-
visit
- Overrides:
visitin classAbstractNodeVisitor<StaticContext>
-
visitMainModule
- Overrides:
visitMainModulein classAbstractNodeVisitor<StaticContext>
-
visitLibraryModule
- Overrides:
visitLibraryModulein classAbstractNodeVisitor<StaticContext>
-
visitVariableReference
public StaticContext visitVariableReference(VariableReferenceExpression expression, StaticContext argument) - Overrides:
visitVariableReferencein classAbstractNodeVisitor<StaticContext>
-
visitFunctionDeclaration
public StaticContext visitFunctionDeclaration(FunctionDeclaration declaration, StaticContext argument) - Overrides:
visitFunctionDeclarationin classAbstractNodeVisitor<StaticContext>
-
visitInlineFunctionExpr
public StaticContext visitInlineFunctionExpr(InlineFunctionExpression expression, StaticContext argument) - Overrides:
visitInlineFunctionExprin classAbstractNodeVisitor<StaticContext>
-
visitFlowrExpression
- Overrides:
visitFlowrExpressionin classAbstractNodeVisitor<StaticContext>
-
visitForClause
- Overrides:
visitForClausein classAbstractNodeVisitor<StaticContext>
-
visitLetClause
- Overrides:
visitLetClausein classAbstractNodeVisitor<StaticContext>
-
visitWhereClause
- Overrides:
visitWhereClausein classAbstractNodeVisitor<StaticContext>
-
visitGroupByClause
- Overrides:
visitGroupByClausein classAbstractNodeVisitor<StaticContext>
-
visitOrderByClause
- Overrides:
visitOrderByClausein classAbstractNodeVisitor<StaticContext>
-
visitCountClause
- Overrides:
visitCountClausein classAbstractNodeVisitor<StaticContext>
-
visitReturnClause
- Overrides:
visitReturnClausein classAbstractNodeVisitor<StaticContext>
-
visitTypeSwitchExpression
public StaticContext visitTypeSwitchExpression(TypeSwitchExpression expression, StaticContext argument) - Overrides:
visitTypeSwitchExpressionin classAbstractNodeVisitor<StaticContext>
-
visitVariableDeclaration
public StaticContext visitVariableDeclaration(VariableDeclaration variableDeclaration, StaticContext argument) - Overrides:
visitVariableDeclarationin classAbstractNodeVisitor<StaticContext>
-
visitCommaVariableDeclStatement
public StaticContext visitCommaVariableDeclStatement(CommaVariableDeclStatement statement, StaticContext argument) - Overrides:
visitCommaVariableDeclStatementin classAbstractNodeVisitor<StaticContext>
-
visitTransformExpression
public StaticContext visitTransformExpression(TransformExpression expression, StaticContext argument) - Overrides:
visitTransformExpressionin classAbstractNodeVisitor<StaticContext>
-
visitTypeDeclaration
- Overrides:
visitTypeDeclarationin classAbstractNodeVisitor<StaticContext>
-
visitProlog
- Overrides:
visitPrologin classAbstractNodeVisitor<StaticContext>
-
visitValidateTypeExpression
public StaticContext visitValidateTypeExpression(ValidateTypeExpression expression, StaticContext argument) - Overrides:
visitValidateTypeExpressionin classAbstractNodeVisitor<StaticContext>
-
visitCastExpression
- Overrides:
visitCastExpressionin classAbstractNodeVisitor<StaticContext>
-
visitCastableExpression
- Overrides:
visitCastableExpressionin classAbstractNodeVisitor<StaticContext>
-
visitTreatExpression
- Overrides:
visitTreatExpressionin classAbstractNodeVisitor<StaticContext>
-
visitInstanceOfExpression
public StaticContext visitInstanceOfExpression(InstanceOfExpression expression, StaticContext argument) - Overrides:
visitInstanceOfExpressionin classAbstractNodeVisitor<StaticContext>
-
visitVariableDeclStatement
public StaticContext visitVariableDeclStatement(VariableDeclStatement variableDeclStatement, StaticContext argument) - Overrides:
visitVariableDeclStatementin classAbstractNodeVisitor<StaticContext>
-
visitProgram
- Overrides:
visitProgramin classAbstractNodeVisitor<StaticContext>
-
visitBlockStatement
- Overrides:
visitBlockStatementin classAbstractNodeVisitor<StaticContext>
-
visitStatementsAndExpr
public StaticContext visitStatementsAndExpr(StatementsAndExpr statementsAndExpr, StaticContext argument) - Overrides:
visitStatementsAndExprin classAbstractNodeVisitor<StaticContext>
-
visitStatementsAndOptionalExpr
public StaticContext visitStatementsAndOptionalExpr(StatementsAndOptionalExpr statementsAndOptionalExpr, StaticContext argument) - Overrides:
visitStatementsAndOptionalExprin classAbstractNodeVisitor<StaticContext>
-
visitTypeSwitchStatement
public StaticContext visitTypeSwitchStatement(TypeSwitchStatement statement, StaticContext argument) - Overrides:
visitTypeSwitchStatementin classAbstractNodeVisitor<StaticContext>
-
visitSwitchStatement
- Overrides:
visitSwitchStatementin classAbstractNodeVisitor<StaticContext>
-
visitConditionalStatement
public StaticContext visitConditionalStatement(ConditionalStatement statement, StaticContext argument) - Overrides:
visitConditionalStatementin classAbstractNodeVisitor<StaticContext>
-
visitAssignStatement
- Overrides:
visitAssignStatementin classAbstractNodeVisitor<StaticContext>
-
visitFlowrStatement
- Overrides:
visitFlowrStatementin classAbstractNodeVisitor<StaticContext>
-
visitReturnStatementClause
public StaticContext visitReturnStatementClause(ReturnStatementClause clause, StaticContext argument) - Overrides:
visitReturnStatementClausein classAbstractNodeVisitor<StaticContext>
-