Class BoxVisitor

java.lang.Object
org.antlr.v4.runtime.tree.AbstractParseTreeVisitor<BoxNode>
ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
ortus.boxlang.compiler.toolchain.BoxVisitor
All Implemented Interfaces:
org.antlr.v4.runtime.tree.ParseTreeVisitor<BoxNode>, ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>

public class BoxVisitor extends ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
This class is responsible for creating the AST from the ANTLR generated parse tree.

A parser tree is a great jumping off point for creating an AST, but it is not the AST itself as its structure is dictated by the grammar and not the structure of the language itself.

We create a standardized AST here, from whence we can then perform further analysis and transformations and eventually code generation, should that be the end goal.

  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    buildExprStat(org.antlr.v4.runtime.ParserRuleContext ctx)
     
    <T> T
    getOrNull(List<T> list, int index)
     
    visitAssert(ortus.boxlang.parser.antlr.BoxGrammar.AssertContext ctx)
     
    visitAtoms(ortus.boxlang.parser.antlr.BoxGrammar.AtomsContext ctx)
     
    visitBoxClass(ortus.boxlang.parser.antlr.BoxGrammar.BoxClassContext ctx)
    Visit the boxClass context to generate the AST node for the class
    visitBreak(ortus.boxlang.parser.antlr.BoxGrammar.BreakContext ctx)
     
    visitCase(ortus.boxlang.parser.antlr.BoxGrammar.CaseContext ctx)
     
    visitCatches(ortus.boxlang.parser.antlr.BoxGrammar.CatchesContext ctx)
     
    visitClassBodyStatement(ortus.boxlang.parser.antlr.BoxGrammar.ClassBodyStatementContext ctx)
     
    visitClassOrInterface(ortus.boxlang.parser.antlr.BoxGrammar.ClassOrInterfaceContext ctx)
    Visit the class or interface context to generate the AST node for the top level node
    visitComponent(ortus.boxlang.parser.antlr.BoxGrammar.ComponentContext ctx)
     
    visitComponentAttribute(ortus.boxlang.parser.antlr.BoxGrammar.ComponentAttributeContext ctx)
     
    visitComponentIsland(ortus.boxlang.parser.antlr.BoxGrammar.ComponentIslandContext ctx)
     
    visitContinue(ortus.boxlang.parser.antlr.BoxGrammar.ContinueContext ctx)
     
    visitDo(ortus.boxlang.parser.antlr.BoxGrammar.DoContext ctx)
     
    visitEmptyStatementBlock(ortus.boxlang.parser.antlr.BoxGrammar.EmptyStatementBlockContext ctx)
     
    visitErrorNode(org.antlr.v4.runtime.tree.ErrorNode node)
     
    visitExprAdd(ortus.boxlang.parser.antlr.BoxGrammar.ExprAddContext ctx)
     
    visitExprAnd(ortus.boxlang.parser.antlr.BoxGrammar.ExprAndContext ctx)
     
    visitExprArrayAccess(ortus.boxlang.parser.antlr.BoxGrammar.ExprArrayAccessContext ctx)
     
    visitExprArrayLiteral(ortus.boxlang.parser.antlr.BoxGrammar.ExprArrayLiteralContext ctx)
     
    visitExprAssign(ortus.boxlang.parser.antlr.BoxGrammar.ExprAssignContext ctx)
    Visit the Assign expressions that are actually statements, and treat them as so
    visitExprBAnd(ortus.boxlang.parser.antlr.BoxGrammar.ExprBAndContext ctx)
     
    visitExprBinary(ortus.boxlang.parser.antlr.BoxGrammar.ExprBinaryContext ctx)
     
    visitExprBitShift(ortus.boxlang.parser.antlr.BoxGrammar.ExprBitShiftContext ctx)
     
    visitExprBor(ortus.boxlang.parser.antlr.BoxGrammar.ExprBorContext ctx)
     
    visitExprBXor(ortus.boxlang.parser.antlr.BoxGrammar.ExprBXorContext ctx)
     
    visitExprCastAs(ortus.boxlang.parser.antlr.BoxGrammar.ExprCastAsContext ctx)
     
    visitExprCat(ortus.boxlang.parser.antlr.BoxGrammar.ExprCatContext ctx)
     
    visitExprDotFloat(ortus.boxlang.parser.antlr.BoxGrammar.ExprDotFloatContext ctx)
     
    visitExprDotOrColonAccess(ortus.boxlang.parser.antlr.BoxGrammar.ExprDotOrColonAccessContext ctx)
     
    visitExprElvis(ortus.boxlang.parser.antlr.BoxGrammar.ExprElvisContext ctx)
     
    visitExprEqual(ortus.boxlang.parser.antlr.BoxGrammar.ExprEqualContext ctx)
     
    visitExprFunctionCall(ortus.boxlang.parser.antlr.BoxGrammar.ExprFunctionCallContext ctx)
     
    visitExprIdentifier(ortus.boxlang.parser.antlr.BoxGrammar.ExprIdentifierContext ctx)
     
    visitExprInstanceOf(ortus.boxlang.parser.antlr.BoxGrammar.ExprInstanceOfContext ctx)
     
    visitExprLiterals(ortus.boxlang.parser.antlr.BoxGrammar.ExprLiteralsContext ctx)
     
    visitExprMult(ortus.boxlang.parser.antlr.BoxGrammar.ExprMultContext ctx)
     
    visitExprNew(ortus.boxlang.parser.antlr.BoxGrammar.ExprNewContext ctx)
     
    visitExprNotContains(ortus.boxlang.parser.antlr.BoxGrammar.ExprNotContainsContext ctx)
     
    visitExprOr(ortus.boxlang.parser.antlr.BoxGrammar.ExprOrContext ctx)
     
    visitExprOutString(ortus.boxlang.parser.antlr.BoxGrammar.ExprOutStringContext ctx)
     
    visitExprPostfix(ortus.boxlang.parser.antlr.BoxGrammar.ExprPostfixContext ctx)
     
    visitExprPower(ortus.boxlang.parser.antlr.BoxGrammar.ExprPowerContext ctx)
     
    visitExprPrecedence(ortus.boxlang.parser.antlr.BoxGrammar.ExprPrecedenceContext ctx)
     
    visitExprPrefix(ortus.boxlang.parser.antlr.BoxGrammar.ExprPrefixContext ctx)
     
    visitExprRelational(ortus.boxlang.parser.antlr.BoxGrammar.ExprRelationalContext ctx)
     
    visitExprStatAnonymousFunction(ortus.boxlang.parser.antlr.BoxGrammar.ExprStatAnonymousFunctionContext ctx)
     
    visitExprStatInvocable(ortus.boxlang.parser.antlr.BoxGrammar.ExprStatInvocableContext ctx)
     
    visitExprTernary(ortus.boxlang.parser.antlr.BoxGrammar.ExprTernaryContext ctx)
     
    visitExprUnary(ortus.boxlang.parser.antlr.BoxGrammar.ExprUnaryContext ctx)
     
    visitExprXor(ortus.boxlang.parser.antlr.BoxGrammar.ExprXorContext ctx)
     
    visitFor(ortus.boxlang.parser.antlr.BoxGrammar.ForContext ctx)
     
    visitFunction(ortus.boxlang.parser.antlr.BoxGrammar.FunctionContext ctx)
     
    visitFunctionOrStatement(ortus.boxlang.parser.antlr.BoxGrammar.FunctionOrStatementContext ctx)
     
    visitFunctionParam(ortus.boxlang.parser.antlr.BoxGrammar.FunctionParamContext ctx)
     
    visitIf(ortus.boxlang.parser.antlr.BoxGrammar.IfContext ctx)
     
    visitImportStatement(ortus.boxlang.parser.antlr.BoxGrammar.ImportStatementContext ctx)
     
    visitInclude(ortus.boxlang.parser.antlr.BoxGrammar.IncludeContext ctx)
     
    visitInterface(ortus.boxlang.parser.antlr.BoxGrammar.InterfaceContext ctx)
    Visit the interface_ context to generate the AST node for the interface
    visitInvocable(ortus.boxlang.parser.antlr.BoxGrammar.InvocableContext ctx)
     
    visitNormalStatementBlock(ortus.boxlang.parser.antlr.BoxGrammar.NormalStatementBlockContext ctx)
     
    visitNot(ortus.boxlang.parser.antlr.BoxGrammar.NotContext ctx)
     
    visitParam(ortus.boxlang.parser.antlr.BoxGrammar.ParamContext ctx)
     
    visitPostAnnotation(ortus.boxlang.parser.antlr.BoxGrammar.PostAnnotationContext ctx)
     
    visitPreAnnotation(ortus.boxlang.parser.antlr.BoxGrammar.PreAnnotationContext ctx)
     
    visitProperty(ortus.boxlang.parser.antlr.BoxGrammar.PropertyContext ctx)
     
    visitRethrow(ortus.boxlang.parser.antlr.BoxGrammar.RethrowContext ctx)
     
    visitReturn(ortus.boxlang.parser.antlr.BoxGrammar.ReturnContext ctx)
     
    visitScript(ortus.boxlang.parser.antlr.BoxGrammar.ScriptContext ctx)
     
    visitSimpleStatement(ortus.boxlang.parser.antlr.BoxGrammar.SimpleStatementContext ctx)
     
    visitStatement(ortus.boxlang.parser.antlr.BoxGrammar.StatementContext ctx)
     
    visitStatementBlock(ortus.boxlang.parser.antlr.BoxGrammar.StatementBlockContext ctx)
     
    visitStatementOrBlock(ortus.boxlang.parser.antlr.BoxGrammar.StatementOrBlockContext ctx)
     
    visitStaticInitializer(ortus.boxlang.parser.antlr.BoxGrammar.StaticInitializerContext ctx)
     
    visitStructExpression(ortus.boxlang.parser.antlr.BoxGrammar.StructExpressionContext ctx)
     
    visitSwitch(ortus.boxlang.parser.antlr.BoxGrammar.SwitchContext ctx)
     
    visitThrow(ortus.boxlang.parser.antlr.BoxGrammar.ThrowContext ctx)
     
    visitTry(ortus.boxlang.parser.antlr.BoxGrammar.TryContext ctx)
     
    visitWhile(ortus.boxlang.parser.antlr.BoxGrammar.WhileContext ctx)
     

    Methods inherited from class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor

    visitAccessModifier, visitAnnotation, visitArgument, visitArgumentList, visitArrayLiteral, visitAssignmentModifier, visitAttributeSimple, visitBinOps, visitClassBody, visitClosureFunc, visitComponentName, visitExprAnonymousFunction, visitExprAtoms, visitExprBIF, visitExprDotFloatID, visitExpressionList, visitExprHeadless, visitExprIllegalIdentifier, visitExprVarDecl, visitFinallyBlock, visitFqn, visitFunctionParamList, visitFunctionSignature, visitIdentifier, visitImportFQN, visitLambdaFunc, visitLiterals, visitModifier, visitModuleName, visitNamedArgument, visitNew, visitPositionalArgument, visitPreFix, visitRelOps, visitReturnType, visitSpecialComponentName, visitStringLiteral, visitStringLiteralPart, visitStructKey, visitStructMember, visitStructMembers, visitTemplate, visitTemplate_argument, visitTemplate_attribute, visitTemplate_attributeName, visitTemplate_attributeValue, visitTemplate_boxImport, visitTemplate_break, visitTemplate_case, visitTemplate_catchBlock, visitTemplate_comment, visitTemplate_componentName, visitTemplate_continue, visitTemplate_finallyBlock, visitTemplate_function, visitTemplate_genericCloseComponent, visitTemplate_genericOpenCloseComponent, visitTemplate_genericOpenComponent, visitTemplate_if, visitTemplate_include, visitTemplate_interpolatedExpression, visitTemplate_nonInterpolatedText, visitTemplate_output, visitTemplate_rethrow, visitTemplate_return, visitTemplate_script, visitTemplate_set, visitTemplate_statement, visitTemplate_statements, visitTemplate_switch, visitTemplate_switchBody, visitTemplate_textContent, visitTemplate_throw, visitTemplate_try, visitTemplate_unquotedValue, visitTemplate_while, visitTemplate_whitespace, visitTestExpression, visitType

    Methods inherited from class org.antlr.v4.runtime.tree.AbstractParseTreeVisitor

    aggregateResult, defaultResult, shouldVisitNextChild, visit, visitChildren, visitTerminal

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.antlr.v4.runtime.tree.ParseTreeVisitor

    visit, visitChildren, visitTerminal
  • Field Details

  • Constructor Details

    • BoxVisitor

      public BoxVisitor(BoxParser tools)
  • Method Details

    • visitClassOrInterface

      public BoxNode visitClassOrInterface(ortus.boxlang.parser.antlr.BoxGrammar.ClassOrInterfaceContext ctx)
      Visit the class or interface context to generate the AST node for the top level node
      Specified by:
      visitClassOrInterface in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitClassOrInterface in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
      Parameters:
      ctx - the parse tree
      Returns:
      the AST node representing the class or interface
    • visitScript

      public BoxNode visitScript(ortus.boxlang.parser.antlr.BoxGrammar.ScriptContext ctx)
      Specified by:
      visitScript in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitScript in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitImportStatement

      public BoxNode visitImportStatement(ortus.boxlang.parser.antlr.BoxGrammar.ImportStatementContext ctx)
      Specified by:
      visitImportStatement in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitImportStatement in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitInclude

      public BoxNode visitInclude(ortus.boxlang.parser.antlr.BoxGrammar.IncludeContext ctx)
      Specified by:
      visitInclude in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitInclude in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitBoxClass

      public BoxNode visitBoxClass(ortus.boxlang.parser.antlr.BoxGrammar.BoxClassContext ctx)
      Visit the boxClass context to generate the AST node for the class
      Specified by:
      visitBoxClass in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitBoxClass in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
      Parameters:
      ctx - the parse tree
      Returns:
      the AST node representing the class
    • visitClassBodyStatement

      public BoxNode visitClassBodyStatement(ortus.boxlang.parser.antlr.BoxGrammar.ClassBodyStatementContext ctx)
      Specified by:
      visitClassBodyStatement in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitClassBodyStatement in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitStaticInitializer

      public BoxNode visitStaticInitializer(ortus.boxlang.parser.antlr.BoxGrammar.StaticInitializerContext ctx)
      Specified by:
      visitStaticInitializer in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitStaticInitializer in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitInterface

      public BoxInterface visitInterface(ortus.boxlang.parser.antlr.BoxGrammar.InterfaceContext ctx)
      Visit the interface_ context to generate the AST node for the interface
      Specified by:
      visitInterface in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitInterface in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
      Parameters:
      ctx - the parse tree
      Returns:
      the AST node representing the interface
    • visitStatement

      public BoxNode visitStatement(ortus.boxlang.parser.antlr.BoxGrammar.StatementContext ctx)
      Specified by:
      visitStatement in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitStatement in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitNot

      public BoxNode visitNot(ortus.boxlang.parser.antlr.BoxGrammar.NotContext ctx)
      Specified by:
      visitNot in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitNot in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitDo

      public BoxNode visitDo(ortus.boxlang.parser.antlr.BoxGrammar.DoContext ctx)
      Specified by:
      visitDo in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitDo in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitFor

      public BoxNode visitFor(ortus.boxlang.parser.antlr.BoxGrammar.ForContext ctx)
      Specified by:
      visitFor in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitFor in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitIf

      public BoxNode visitIf(ortus.boxlang.parser.antlr.BoxGrammar.IfContext ctx)
      Specified by:
      visitIf in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitIf in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitSwitch

      public BoxNode visitSwitch(ortus.boxlang.parser.antlr.BoxGrammar.SwitchContext ctx)
      Specified by:
      visitSwitch in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitSwitch in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitCase

      public BoxNode visitCase(ortus.boxlang.parser.antlr.BoxGrammar.CaseContext ctx)
      Specified by:
      visitCase in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitCase in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitTry

      public BoxStatement visitTry(ortus.boxlang.parser.antlr.BoxGrammar.TryContext ctx)
      Specified by:
      visitTry in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitTry in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitCatches

      public BoxStatement visitCatches(ortus.boxlang.parser.antlr.BoxGrammar.CatchesContext ctx)
      Specified by:
      visitCatches in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitCatches in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitWhile

      public BoxStatement visitWhile(ortus.boxlang.parser.antlr.BoxGrammar.WhileContext ctx)
      Specified by:
      visitWhile in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitWhile in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitComponent

      public BoxNode visitComponent(ortus.boxlang.parser.antlr.BoxGrammar.ComponentContext ctx)
      Specified by:
      visitComponent in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitComponent in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitComponentAttribute

      public BoxNode visitComponentAttribute(ortus.boxlang.parser.antlr.BoxGrammar.ComponentAttributeContext ctx)
      Specified by:
      visitComponentAttribute in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitComponentAttribute in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitStatementOrBlock

      public BoxNode visitStatementOrBlock(ortus.boxlang.parser.antlr.BoxGrammar.StatementOrBlockContext ctx)
      Specified by:
      visitStatementOrBlock in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitStatementOrBlock in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitStatementBlock

      public BoxNode visitStatementBlock(ortus.boxlang.parser.antlr.BoxGrammar.StatementBlockContext ctx)
      Specified by:
      visitStatementBlock in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitStatementBlock in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitNormalStatementBlock

      public BoxNode visitNormalStatementBlock(ortus.boxlang.parser.antlr.BoxGrammar.NormalStatementBlockContext ctx)
      Specified by:
      visitNormalStatementBlock in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitNormalStatementBlock in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitEmptyStatementBlock

      public BoxNode visitEmptyStatementBlock(ortus.boxlang.parser.antlr.BoxGrammar.EmptyStatementBlockContext ctx)
      Specified by:
      visitEmptyStatementBlock in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitEmptyStatementBlock in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitSimpleStatement

      public BoxNode visitSimpleStatement(ortus.boxlang.parser.antlr.BoxGrammar.SimpleStatementContext ctx)
      Specified by:
      visitSimpleStatement in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitSimpleStatement in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitComponentIsland

      public BoxNode visitComponentIsland(ortus.boxlang.parser.antlr.BoxGrammar.ComponentIslandContext ctx)
      Specified by:
      visitComponentIsland in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitComponentIsland in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitBreak

      public BoxNode visitBreak(ortus.boxlang.parser.antlr.BoxGrammar.BreakContext ctx)
      Specified by:
      visitBreak in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitBreak in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitContinue

      public BoxNode visitContinue(ortus.boxlang.parser.antlr.BoxGrammar.ContinueContext ctx)
      Specified by:
      visitContinue in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitContinue in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitRethrow

      public BoxNode visitRethrow(ortus.boxlang.parser.antlr.BoxGrammar.RethrowContext ctx)
      Specified by:
      visitRethrow in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitRethrow in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitAssert

      public BoxNode visitAssert(ortus.boxlang.parser.antlr.BoxGrammar.AssertContext ctx)
      Specified by:
      visitAssert in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitAssert in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitParam

      public BoxNode visitParam(ortus.boxlang.parser.antlr.BoxGrammar.ParamContext ctx)
      Specified by:
      visitParam in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitParam in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitReturn

      public BoxNode visitReturn(ortus.boxlang.parser.antlr.BoxGrammar.ReturnContext ctx)
      Specified by:
      visitReturn in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitReturn in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitThrow

      public BoxNode visitThrow(ortus.boxlang.parser.antlr.BoxGrammar.ThrowContext ctx)
      Specified by:
      visitThrow in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitThrow in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitInvocable

      public BoxNode visitInvocable(ortus.boxlang.parser.antlr.BoxGrammar.InvocableContext ctx)
      Specified by:
      visitInvocable in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitInvocable in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitExprStatInvocable

      public BoxNode visitExprStatInvocable(ortus.boxlang.parser.antlr.BoxGrammar.ExprStatInvocableContext ctx)
      Specified by:
      visitExprStatInvocable in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitExprStatInvocable in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitExprPrecedence

      public BoxNode visitExprPrecedence(ortus.boxlang.parser.antlr.BoxGrammar.ExprPrecedenceContext ctx)
      Specified by:
      visitExprPrecedence in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitExprPrecedence in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitExprFunctionCall

      public BoxNode visitExprFunctionCall(ortus.boxlang.parser.antlr.BoxGrammar.ExprFunctionCallContext ctx)
      Specified by:
      visitExprFunctionCall in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitExprFunctionCall in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitExprUnary

      public BoxNode visitExprUnary(ortus.boxlang.parser.antlr.BoxGrammar.ExprUnaryContext ctx)
      Specified by:
      visitExprUnary in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitExprUnary in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitExprPostfix

      public BoxNode visitExprPostfix(ortus.boxlang.parser.antlr.BoxGrammar.ExprPostfixContext ctx)
      Specified by:
      visitExprPostfix in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitExprPostfix in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitExprPrefix

      public BoxNode visitExprPrefix(ortus.boxlang.parser.antlr.BoxGrammar.ExprPrefixContext ctx)
      Specified by:
      visitExprPrefix in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitExprPrefix in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitExprDotFloat

      public BoxNode visitExprDotFloat(ortus.boxlang.parser.antlr.BoxGrammar.ExprDotFloatContext ctx)
      Specified by:
      visitExprDotFloat in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitExprDotFloat in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitExprDotOrColonAccess

      public BoxNode visitExprDotOrColonAccess(ortus.boxlang.parser.antlr.BoxGrammar.ExprDotOrColonAccessContext ctx)
      Specified by:
      visitExprDotOrColonAccess in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitExprDotOrColonAccess in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitExprPower

      public BoxNode visitExprPower(ortus.boxlang.parser.antlr.BoxGrammar.ExprPowerContext ctx)
      Specified by:
      visitExprPower in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitExprPower in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitExprMult

      public BoxNode visitExprMult(ortus.boxlang.parser.antlr.BoxGrammar.ExprMultContext ctx)
      Specified by:
      visitExprMult in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitExprMult in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitExprAdd

      public BoxNode visitExprAdd(ortus.boxlang.parser.antlr.BoxGrammar.ExprAddContext ctx)
      Specified by:
      visitExprAdd in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitExprAdd in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitExprBitShift

      public BoxNode visitExprBitShift(ortus.boxlang.parser.antlr.BoxGrammar.ExprBitShiftContext ctx)
      Specified by:
      visitExprBitShift in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitExprBitShift in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitExprBAnd

      public BoxNode visitExprBAnd(ortus.boxlang.parser.antlr.BoxGrammar.ExprBAndContext ctx)
      Specified by:
      visitExprBAnd in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitExprBAnd in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitExprBXor

      public BoxNode visitExprBXor(ortus.boxlang.parser.antlr.BoxGrammar.ExprBXorContext ctx)
      Specified by:
      visitExprBXor in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitExprBXor in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitExprBor

      public BoxNode visitExprBor(ortus.boxlang.parser.antlr.BoxGrammar.ExprBorContext ctx)
      Specified by:
      visitExprBor in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitExprBor in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitExprBinary

      public BoxNode visitExprBinary(ortus.boxlang.parser.antlr.BoxGrammar.ExprBinaryContext ctx)
      Specified by:
      visitExprBinary in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitExprBinary in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitExprRelational

      public BoxNode visitExprRelational(ortus.boxlang.parser.antlr.BoxGrammar.ExprRelationalContext ctx)
      Specified by:
      visitExprRelational in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitExprRelational in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitExprEqual

      public BoxNode visitExprEqual(ortus.boxlang.parser.antlr.BoxGrammar.ExprEqualContext ctx)
      Specified by:
      visitExprEqual in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitExprEqual in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitExprXor

      public BoxNode visitExprXor(ortus.boxlang.parser.antlr.BoxGrammar.ExprXorContext ctx)
      Specified by:
      visitExprXor in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitExprXor in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitExprCat

      public BoxNode visitExprCat(ortus.boxlang.parser.antlr.BoxGrammar.ExprCatContext ctx)
      Specified by:
      visitExprCat in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitExprCat in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitExprNotContains

      public BoxNode visitExprNotContains(ortus.boxlang.parser.antlr.BoxGrammar.ExprNotContainsContext ctx)
      Specified by:
      visitExprNotContains in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitExprNotContains in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitExprAnd

      public BoxNode visitExprAnd(ortus.boxlang.parser.antlr.BoxGrammar.ExprAndContext ctx)
      Specified by:
      visitExprAnd in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitExprAnd in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitExprOr

      public BoxNode visitExprOr(ortus.boxlang.parser.antlr.BoxGrammar.ExprOrContext ctx)
      Specified by:
      visitExprOr in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitExprOr in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitExprElvis

      public BoxNode visitExprElvis(ortus.boxlang.parser.antlr.BoxGrammar.ExprElvisContext ctx)
      Specified by:
      visitExprElvis in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitExprElvis in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitExprInstanceOf

      public BoxNode visitExprInstanceOf(ortus.boxlang.parser.antlr.BoxGrammar.ExprInstanceOfContext ctx)
      Specified by:
      visitExprInstanceOf in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitExprInstanceOf in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitExprCastAs

      public BoxNode visitExprCastAs(ortus.boxlang.parser.antlr.BoxGrammar.ExprCastAsContext ctx)
      Specified by:
      visitExprCastAs in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitExprCastAs in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitExprTernary

      public BoxNode visitExprTernary(ortus.boxlang.parser.antlr.BoxGrammar.ExprTernaryContext ctx)
      Specified by:
      visitExprTernary in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitExprTernary in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitExprAssign

      public BoxNode visitExprAssign(ortus.boxlang.parser.antlr.BoxGrammar.ExprAssignContext ctx)
      Visit the Assign expressions that are actually statements, and treat them as so
      Specified by:
      visitExprAssign in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitExprAssign in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitExprOutString

      public BoxNode visitExprOutString(ortus.boxlang.parser.antlr.BoxGrammar.ExprOutStringContext ctx)
      Specified by:
      visitExprOutString in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitExprOutString in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitExprArrayAccess

      public BoxNode visitExprArrayAccess(ortus.boxlang.parser.antlr.BoxGrammar.ExprArrayAccessContext ctx)
      Specified by:
      visitExprArrayAccess in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitExprArrayAccess in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitExprArrayLiteral

      public BoxNode visitExprArrayLiteral(ortus.boxlang.parser.antlr.BoxGrammar.ExprArrayLiteralContext ctx)
      Specified by:
      visitExprArrayLiteral in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitExprArrayLiteral in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitExprStatAnonymousFunction

      public BoxNode visitExprStatAnonymousFunction(ortus.boxlang.parser.antlr.BoxGrammar.ExprStatAnonymousFunctionContext ctx)
      Specified by:
      visitExprStatAnonymousFunction in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitExprStatAnonymousFunction in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitExprNew

      public BoxNode visitExprNew(ortus.boxlang.parser.antlr.BoxGrammar.ExprNewContext ctx)
      Specified by:
      visitExprNew in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitExprNew in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitExprIdentifier

      public BoxNode visitExprIdentifier(ortus.boxlang.parser.antlr.BoxGrammar.ExprIdentifierContext ctx)
      Specified by:
      visitExprIdentifier in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitExprIdentifier in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitExprLiterals

      public BoxNode visitExprLiterals(ortus.boxlang.parser.antlr.BoxGrammar.ExprLiteralsContext ctx)
      Specified by:
      visitExprLiterals in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitExprLiterals in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitAtoms

      public BoxNode visitAtoms(ortus.boxlang.parser.antlr.BoxGrammar.AtomsContext ctx)
      Specified by:
      visitAtoms in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitAtoms in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitStructExpression

      public BoxNode visitStructExpression(ortus.boxlang.parser.antlr.BoxGrammar.StructExpressionContext ctx)
      Specified by:
      visitStructExpression in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitStructExpression in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitProperty

      public BoxProperty visitProperty(ortus.boxlang.parser.antlr.BoxGrammar.PropertyContext ctx)
      Specified by:
      visitProperty in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitProperty in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitPostAnnotation

      public BoxAnnotation visitPostAnnotation(ortus.boxlang.parser.antlr.BoxGrammar.PostAnnotationContext ctx)
      Specified by:
      visitPostAnnotation in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitPostAnnotation in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitPreAnnotation

      public BoxAnnotation visitPreAnnotation(ortus.boxlang.parser.antlr.BoxGrammar.PreAnnotationContext ctx)
      Specified by:
      visitPreAnnotation in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitPreAnnotation in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitFunction

      public BoxNode visitFunction(ortus.boxlang.parser.antlr.BoxGrammar.FunctionContext ctx)
      Specified by:
      visitFunction in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitFunction in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitFunctionParam

      public BoxNode visitFunctionParam(ortus.boxlang.parser.antlr.BoxGrammar.FunctionParamContext ctx)
      Specified by:
      visitFunctionParam in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitFunctionParam in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitFunctionOrStatement

      public BoxNode visitFunctionOrStatement(ortus.boxlang.parser.antlr.BoxGrammar.FunctionOrStatementContext ctx)
      Specified by:
      visitFunctionOrStatement in interface ortus.boxlang.parser.antlr.BoxGrammarVisitor<BoxNode>
      Overrides:
      visitFunctionOrStatement in class ortus.boxlang.parser.antlr.BoxGrammarBaseVisitor<BoxNode>
    • visitErrorNode

      public BoxNode visitErrorNode(org.antlr.v4.runtime.tree.ErrorNode node)
      Specified by:
      visitErrorNode in interface org.antlr.v4.runtime.tree.ParseTreeVisitor<BoxNode>
      Overrides:
      visitErrorNode in class org.antlr.v4.runtime.tree.AbstractParseTreeVisitor<BoxNode>
    • buildExprStat

      public BoxNode buildExprStat(org.antlr.v4.runtime.ParserRuleContext ctx)
    • getOrNull

      public <T> T getOrNull(List<T> list, int index)