Class SimpleTreeVisitorES5_1<R,P>

  • Type Parameters:
    R - the return type of this visitor's methods. Use Void for visitors that do not need to return results.
    P - the type of the additional parameter to this visitor's methods. Use Void for visitors that do not need an additional parameter.
    All Implemented Interfaces:
    TreeVisitor<R,P>
    Direct Known Subclasses:
    SimpleTreeVisitorES6


    public class SimpleTreeVisitorES5_1<R,P>
    extends Object
    implements TreeVisitor<R,P>
    A simple implementation of the TreeVisitor for ECMAScript edition 5.1.

    The visit methods corresponding to ES 5.1 language constructs walk the "components" of the given tree by calling accept method passing the current visitor and the additional parameter.

    For constructs introduced in later versions, visitUnknown is called instead which throws UnknownTreeException.

    Methods in this class may be overridden subject to their general contract. Note that annotating methods in concrete subclasses with @Override will help ensure that methods are overridden as intended.

    • Constructor Detail

      • SimpleTreeVisitorES5_1

        public SimpleTreeVisitorES5_1​()
    • Method Detail

      • visitAssignment

        public R visitAssignment​(AssignmentTree node,
                                 P r)
        Description copied from interface: TreeVisitor
        Visit assignment tree.
        Specified by:
        visitAssignment in interface TreeVisitor<R,P>
        Parameters:
        node - node being visited
        r - extra parameter passed to the visitor
        Returns:
        value from the visitor
      • visitCompoundAssignment

        public R visitCompoundAssignment​(CompoundAssignmentTree node,
                                         P r)
        Description copied from interface: TreeVisitor
        Visit compound assignment tree.
        Specified by:
        visitCompoundAssignment in interface TreeVisitor<R,P>
        Parameters:
        node - node being visited
        r - extra parameter passed to the visitor
        Returns:
        value from the visitor
      • visitModule

        public R visitModule​(ModuleTree node,
                             P p)
        Visits a ModuleTree tree by calling visitUnknown.
        Specified by:
        visitModule in interface TreeVisitor<R,P>
        Parameters:
        node - node being visited
        p - extra parameter passed to the visitor
        Returns:
        the result of visitUnknown
      • visitExportEntry

        public R visitExportEntry​(ExportEntryTree node,
                                  P p)
        Visits an ExportEntryTree tree by calling visitUnknown.
        Specified by:
        visitExportEntry in interface TreeVisitor<R,P>
        Parameters:
        node - node being visited
        p - extra parameter passed to the visitor
        Returns:
        the result of visitUnknown
      • visitImportEntry

        public R visitImportEntry​(ImportEntryTree node,
                                  P p)
        Visits an ImportEntryTree tree by calling visitUnknown.
        Specified by:
        visitImportEntry in interface TreeVisitor<R,P>
        Parameters:
        node - node being visited
        p - extra parameter passed to the visitor
        Returns:
        the result of visitUnknown
      • visitBinary

        public R visitBinary​(BinaryTree node,
                             P r)
        Description copied from interface: TreeVisitor
        Visit binary expression tree.
        Specified by:
        visitBinary in interface TreeVisitor<R,P>
        Parameters:
        node - node being visited
        r - extra parameter passed to the visitor
        Returns:
        value from the visitor
      • visitBlock

        public R visitBlock​(BlockTree node,
                            P r)
        Description copied from interface: TreeVisitor
        Visit block statement tree.
        Specified by:
        visitBlock in interface TreeVisitor<R,P>
        Parameters:
        node - node being visited
        r - extra parameter passed to the visitor
        Returns:
        value from the visitor
      • visitBreak

        public R visitBreak​(BreakTree node,
                            P r)
        Description copied from interface: TreeVisitor
        Visit break statement tree.
        Specified by:
        visitBreak in interface TreeVisitor<R,P>
        Parameters:
        node - node being visited
        r - extra parameter passed to the visitor
        Returns:
        value from the visitor
      • visitCase

        public R visitCase​(CaseTree node,
                           P r)
        Description copied from interface: TreeVisitor
        Visit case statement tree.
        Specified by:
        visitCase in interface TreeVisitor<R,P>
        Parameters:
        node - node being visited
        r - extra parameter passed to the visitor
        Returns:
        value from the visitor
      • visitCatch

        public R visitCatch​(CatchTree node,
                            P r)
        Description copied from interface: TreeVisitor
        Visit catch block statement tree.
        Specified by:
        visitCatch in interface TreeVisitor<R,P>
        Parameters:
        node - node being visited
        r - extra parameter passed to the visitor
        Returns:
        value from the visitor
      • visitClassDeclaration

        public R visitClassDeclaration​(ClassDeclarationTree node,
                                       P p)
        Visits a ClassDeclarationTree tree by calling visitUnknown.
        Specified by:
        visitClassDeclaration in interface TreeVisitor<R,P>
        Parameters:
        node - node being visited
        p - extra parameter passed to the visitor
        Returns:
        the result of visitUnknown
      • visitClassExpression

        public R visitClassExpression​(ClassExpressionTree node,
                                      P p)
        Visits a ClassExpressionTree tree by calling visitUnknown.
        Specified by:
        visitClassExpression in interface TreeVisitor<R,P>
        Parameters:
        node - node being visited
        p - extra parameter passed to the visitor
        Returns:
        the result of visitUnknown
      • visitContinue

        public R visitContinue​(ContinueTree node,
                               P r)
        Description copied from interface: TreeVisitor
        Visit continue statement tree.
        Specified by:
        visitContinue in interface TreeVisitor<R,P>
        Parameters:
        node - node being visited
        r - extra parameter passed to the visitor
        Returns:
        value from the visitor
      • visitDebugger

        public R visitDebugger​(DebuggerTree node,
                               P r)
        Description copied from interface: TreeVisitor
        Visit debugger statement tree.
        Specified by:
        visitDebugger in interface TreeVisitor<R,P>
        Parameters:
        node - node being visited
        r - extra parameter passed to the visitor
        Returns:
        value from the visitor
      • visitDoWhileLoop

        public R visitDoWhileLoop​(DoWhileLoopTree node,
                                  P r)
        Description copied from interface: TreeVisitor
        Visit do-while statement tree.
        Specified by:
        visitDoWhileLoop in interface TreeVisitor<R,P>
        Parameters:
        node - node being visited
        r - extra parameter passed to the visitor
        Returns:
        value from the visitor
      • visitErroneous

        public R visitErroneous​(ErroneousTree node,
                                P r)
        Description copied from interface: TreeVisitor
        Visit error expression tree.
        Specified by:
        visitErroneous in interface TreeVisitor<R,P>
        Parameters:
        node - node being visited
        r - extra parameter passed to the visitor
        Returns:
        value from the visitor
      • visitExpressionStatement

        public R visitExpressionStatement​(ExpressionStatementTree node,
                                          P r)
        Description copied from interface: TreeVisitor
        Visit expression statement tree.
        Specified by:
        visitExpressionStatement in interface TreeVisitor<R,P>
        Parameters:
        node - node being visited
        r - extra parameter passed to the visitor
        Returns:
        value from the visitor
      • visitForLoop

        public R visitForLoop​(ForLoopTree node,
                              P r)
        Description copied from interface: TreeVisitor
        Visit 'for' statement tree.
        Specified by:
        visitForLoop in interface TreeVisitor<R,P>
        Parameters:
        node - node being visited
        r - extra parameter passed to the visitor
        Returns:
        value from the visitor
      • visitForInLoop

        public R visitForInLoop​(ForInLoopTree node,
                                P r)
        Description copied from interface: TreeVisitor
        Visit for..in statement tree.
        Specified by:
        visitForInLoop in interface TreeVisitor<R,P>
        Parameters:
        node - node being visited
        r - extra parameter passed to the visitor
        Returns:
        value from the visitor
      • visitForOfLoop

        public R visitForOfLoop​(ForOfLoopTree node,
                                P p)
        Visits a ForOfLoopTree tree by calling visitUnknown.
        Specified by:
        visitForOfLoop in interface TreeVisitor<R,P>
        Parameters:
        node - node being visited
        p - extra parameter passed to the visitor
        Returns:
        the result of visitUnknown
      • visitFunctionCall

        public R visitFunctionCall​(FunctionCallTree node,
                                   P r)
        Description copied from interface: TreeVisitor
        Visit function call expression tree.
        Specified by:
        visitFunctionCall in interface TreeVisitor<R,P>
        Parameters:
        node - node being visited
        r - extra parameter passed to the visitor
        Returns:
        value from the visitor
      • visitFunctionDeclaration

        public R visitFunctionDeclaration​(FunctionDeclarationTree node,
                                          P r)
        Description copied from interface: TreeVisitor
        Visit function declaration tree.
        Specified by:
        visitFunctionDeclaration in interface TreeVisitor<R,P>
        Parameters:
        node - node being visited
        r - extra parameter passed to the visitor
        Returns:
        value from the visitor
      • visitFunctionExpression

        public R visitFunctionExpression​(FunctionExpressionTree node,
                                         P r)
        Description copied from interface: TreeVisitor
        Visit function expression tree.
        Specified by:
        visitFunctionExpression in interface TreeVisitor<R,P>
        Parameters:
        node - node being visited
        r - extra parameter passed to the visitor
        Returns:
        value from the visitor
      • visitIdentifier

        public R visitIdentifier​(IdentifierTree node,
                                 P r)
        Description copied from interface: TreeVisitor
        Visit identifier tree.
        Specified by:
        visitIdentifier in interface TreeVisitor<R,P>
        Parameters:
        node - node being visited
        r - extra parameter passed to the visitor
        Returns:
        value from the visitor
      • visitIf

        public R visitIf​(IfTree node,
                         P r)
        Description copied from interface: TreeVisitor
        Visit 'if' statement tree.
        Specified by:
        visitIf in interface TreeVisitor<R,P>
        Parameters:
        node - node being visited
        r - extra parameter passed to the visitor
        Returns:
        value from the visitor
      • visitArrayAccess

        public R visitArrayAccess​(ArrayAccessTree node,
                                  P r)
        Description copied from interface: TreeVisitor
        Visit array access expression tree.
        Specified by:
        visitArrayAccess in interface TreeVisitor<R,P>
        Parameters:
        node - node being visited
        r - extra parameter passed to the visitor
        Returns:
        value from the visitor
      • visitArrayLiteral

        public R visitArrayLiteral​(ArrayLiteralTree node,
                                   P r)
        Description copied from interface: TreeVisitor
        Visit array literal expression tree.
        Specified by:
        visitArrayLiteral in interface TreeVisitor<R,P>
        Parameters:
        node - node being visited
        r - extra parameter passed to the visitor
        Returns:
        value from the visitor
      • visitLabeledStatement

        public R visitLabeledStatement​(LabeledStatementTree node,
                                       P r)
        Description copied from interface: TreeVisitor
        Visit labeled statement tree.
        Specified by:
        visitLabeledStatement in interface TreeVisitor<R,P>
        Parameters:
        node - node being visited
        r - extra parameter passed to the visitor
        Returns:
        value from the visitor
      • visitLiteral

        public R visitLiteral​(LiteralTree node,
                              P r)
        Description copied from interface: TreeVisitor
        Visit literal expression tree.
        Specified by:
        visitLiteral in interface TreeVisitor<R,P>
        Parameters:
        node - node being visited
        r - extra parameter passed to the visitor
        Returns:
        value from the visitor
      • visitParenthesized

        public R visitParenthesized​(ParenthesizedTree node,
                                    P r)
        Description copied from interface: TreeVisitor
        Visit parenthesized expression tree.
        Specified by:
        visitParenthesized in interface TreeVisitor<R,P>
        Parameters:
        node - node being visited
        r - extra parameter passed to the visitor
        Returns:
        value from the visitor
      • visitReturn

        public R visitReturn​(ReturnTree node,
                             P r)
        Description copied from interface: TreeVisitor
        Visit return statement tree.
        Specified by:
        visitReturn in interface TreeVisitor<R,P>
        Parameters:
        node - node being visited
        r - extra parameter passed to the visitor
        Returns:
        value from the visitor
      • visitMemberSelect

        public R visitMemberSelect​(MemberSelectTree node,
                                   P r)
        Description copied from interface: TreeVisitor
        Visit member select expression tree.
        Specified by:
        visitMemberSelect in interface TreeVisitor<R,P>
        Parameters:
        node - node being visited
        r - extra parameter passed to the visitor
        Returns:
        value from the visitor
      • visitNew

        public R visitNew​(NewTree node,
                          P r)
        Description copied from interface: TreeVisitor
        Visit 'new' expression tree.
        Specified by:
        visitNew in interface TreeVisitor<R,P>
        Parameters:
        node - node being visited
        r - extra parameter passed to the visitor
        Returns:
        value from the visitor
      • visitObjectLiteral

        public R visitObjectLiteral​(ObjectLiteralTree node,
                                    P r)
        Description copied from interface: TreeVisitor
        Visit object literal tree.
        Specified by:
        visitObjectLiteral in interface TreeVisitor<R,P>
        Parameters:
        node - node being visited
        r - extra parameter passed to the visitor
        Returns:
        value from the visitor
      • visitProperty

        public R visitProperty​(PropertyTree node,
                               P r)
        Description copied from interface: TreeVisitor
        Visit a property of an object literal expression tree.
        Specified by:
        visitProperty in interface TreeVisitor<R,P>
        Parameters:
        node - node being visited
        r - extra parameter passed to the visitor
        Returns:
        value from the visitor
      • visitRegExpLiteral

        public R visitRegExpLiteral​(RegExpLiteralTree node,
                                    P r)
        Description copied from interface: TreeVisitor
        Visit regular expression literal tree.
        Specified by:
        visitRegExpLiteral in interface TreeVisitor<R,P>
        Parameters:
        node - node being visited
        r - extra parameter passed to the visitor
        Returns:
        value from the visitor
      • visitTemplateLiteral

        public R visitTemplateLiteral​(TemplateLiteralTree node,
                                      P p)
        Visits a TemplateLiteralTree tree by calling visitUnknown.
        Specified by:
        visitTemplateLiteral in interface TreeVisitor<R,P>
        Parameters:
        node - node being visited
        p - extra parameter passed to the visitor
        Returns:
        the result of visitUnknown
      • visitEmptyStatement

        public R visitEmptyStatement​(EmptyStatementTree node,
                                     P r)
        Description copied from interface: TreeVisitor
        Visit an empty statement tree.
        Specified by:
        visitEmptyStatement in interface TreeVisitor<R,P>
        Parameters:
        node - node being visited
        r - extra parameter passed to the visitor
        Returns:
        value from the visitor
      • visitSpread

        public R visitSpread​(SpreadTree node,
                             P p)
        Visits a SpreadTree tree by calling visitUnknown.
        Specified by:
        visitSpread in interface TreeVisitor<R,P>
        Parameters:
        node - node being visited
        p - extra parameter passed to the visitor
        Returns:
        the result of visitUnknown
      • visitSwitch

        public R visitSwitch​(SwitchTree node,
                             P r)
        Description copied from interface: TreeVisitor
        Visit 'switch' statement tree.
        Specified by:
        visitSwitch in interface TreeVisitor<R,P>
        Parameters:
        node - node being visited
        r - extra parameter passed to the visitor
        Returns:
        value from the visitor
      • visitThrow

        public R visitThrow​(ThrowTree node,
                            P r)
        Description copied from interface: TreeVisitor
        Visit 'throw' expression tree.
        Specified by:
        visitThrow in interface TreeVisitor<R,P>
        Parameters:
        node - node being visited
        r - extra parameter passed to the visitor
        Returns:
        value from the visitor
      • visitCompilationUnit

        public R visitCompilationUnit​(CompilationUnitTree node,
                                      P r)
        Description copied from interface: TreeVisitor
        Visit compilation unit tree.
        Specified by:
        visitCompilationUnit in interface TreeVisitor<R,P>
        Parameters:
        node - node being visited
        r - extra parameter passed to the visitor
        Returns:
        value from the visitor
      • visitTry

        public R visitTry​(TryTree node,
                          P r)
        Description copied from interface: TreeVisitor
        Visit 'try' statement tree.
        Specified by:
        visitTry in interface TreeVisitor<R,P>
        Parameters:
        node - node being visited
        r - extra parameter passed to the visitor
        Returns:
        value from the visitor
      • visitInstanceOf

        public R visitInstanceOf​(InstanceOfTree node,
                                 P r)
        Description copied from interface: TreeVisitor
        Visit 'instanceof' expression tree.
        Specified by:
        visitInstanceOf in interface TreeVisitor<R,P>
        Parameters:
        node - node being visited
        r - extra parameter passed to the visitor
        Returns:
        value from the visitor
      • visitUnary

        public R visitUnary​(UnaryTree node,
                            P r)
        Description copied from interface: TreeVisitor
        Visit unary expression tree.
        Specified by:
        visitUnary in interface TreeVisitor<R,P>
        Parameters:
        node - node being visited
        r - extra parameter passed to the visitor
        Returns:
        value from the visitor
      • visitVariable

        public R visitVariable​(VariableTree node,
                               P r)
        Description copied from interface: TreeVisitor
        Visit variable declaration tree.
        Specified by:
        visitVariable in interface TreeVisitor<R,P>
        Parameters:
        node - node being visited
        r - extra parameter passed to the visitor
        Returns:
        value from the visitor
      • visitWhileLoop

        public R visitWhileLoop​(WhileLoopTree node,
                                P r)
        Description copied from interface: TreeVisitor
        Visit 'while' statement tree.
        Specified by:
        visitWhileLoop in interface TreeVisitor<R,P>
        Parameters:
        node - node being visited
        r - extra parameter passed to the visitor
        Returns:
        value from the visitor
      • visitWith

        public R visitWith​(WithTree node,
                           P r)
        Description copied from interface: TreeVisitor
        Visit 'with' statement tree.
        Specified by:
        visitWith in interface TreeVisitor<R,P>
        Parameters:
        node - node being visited
        r - extra parameter passed to the visitor
        Returns:
        value from the visitor
      • visitYield

        public R visitYield​(YieldTree node,
                            P p)
        Visits a YieldTree tree by calling visitUnknown.
        Specified by:
        visitYield in interface TreeVisitor<R,P>
        Parameters:
        node - node being visited
        p - extra parameter passed to the visitor
        Returns:
        the result of visitUnknown
      • visitUnknown

        public R visitUnknown​(Tree node,
                              P p)
        Visit unknown expression/statement tree. This fallback will be called if new Tree subtypes are introduced in future. A specific implementation may throw {unknown tree exception if the visitor implementation was for an older language version.
        Specified by:
        visitUnknown in interface TreeVisitor<R,P>
        Implementation Requirements:
        The default implementation of this method in SimpleTreeVisitorES5_1 will always throw UnknownTypeException. This behavior is not required of a subclass.
        Parameters:
        node - node being visited
        p - extra parameter passed to the visitor
        Returns:
        abnormal return by throwing exception always
        Throws:
        UnknownTreeException - a visitor implementation may optionally throw this exception