Module jdk.compiler

Interface TreeVisitor<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 Known Implementing Classes:
    SimpleTreeVisitor, TreePathScanner, TreeScanner

    public interface TreeVisitor<R,​P>
    A visitor of trees, in the style of the visitor design pattern. Classes implementing this interface are used to operate on a tree when the kind of tree is unknown at compile time. When a visitor is passed to an tree's accept method, the visitXyz method most applicable to that tree is invoked.

    Classes implementing this interface may or may not throw a NullPointerException if the additional parameter p is null; see documentation of the implementing class for details.

    WARNING: It is possible that methods will be added to this interface to accommodate new, currently unknown, language structures added to future versions of the Java™ programming language. Therefore, visitor classes directly implementing this interface may be source incompatible with future versions of the platform.

    Since:
    1.6
    • Method Detail

      • visitAnnotatedType

        R visitAnnotatedType​(AnnotatedTypeTree node,
                             P p)
        Visits an AnnotatedTypeTree node.
        Parameters:
        node - the node being visited
        p - a parameter value
        Returns:
        a result value
      • visitAnnotation

        R visitAnnotation​(AnnotationTree node,
                          P p)
        Visits an AnnotatedTree node.
        Parameters:
        node - the node being visited
        p - a parameter value
        Returns:
        a result value
      • visitMethodInvocation

        R visitMethodInvocation​(MethodInvocationTree node,
                                P p)
        Visits a MethodInvocationTree node.
        Parameters:
        node - the node being visited
        p - a parameter value
        Returns:
        a result value
      • visitAssert

        R visitAssert​(AssertTree node,
                      P p)
        Visits an AssertTree node.
        Parameters:
        node - the node being visited
        p - a parameter value
        Returns:
        a result value
      • visitAssignment

        R visitAssignment​(AssignmentTree node,
                          P p)
        Visits an AssignmentTree node.
        Parameters:
        node - the node being visited
        p - a parameter value
        Returns:
        a result value
      • visitCompoundAssignment

        R visitCompoundAssignment​(CompoundAssignmentTree node,
                                  P p)
        Visits a CompoundAssignmentTree node.
        Parameters:
        node - the node being visited
        p - a parameter value
        Returns:
        a result value
      • visitBinary

        R visitBinary​(BinaryTree node,
                      P p)
        Visits a BinaryTree node.
        Parameters:
        node - the node being visited
        p - a parameter value
        Returns:
        a result value
      • visitBlock

        R visitBlock​(BlockTree node,
                     P p)
        Visits a BlockTree node.
        Parameters:
        node - the node being visited
        p - a parameter value
        Returns:
        a result value
      • visitBreak

        R visitBreak​(BreakTree node,
                     P p)
        Visits a BreakTree node.
        Parameters:
        node - the node being visited
        p - a parameter value
        Returns:
        a result value
      • visitCase

        R visitCase​(CaseTree node,
                    P p)
        Visits a CaseTree node.
        Parameters:
        node - the node being visited
        p - a parameter value
        Returns:
        a result value
      • visitCatch

        R visitCatch​(CatchTree node,
                     P p)
        Visits a CatchTree node.
        Parameters:
        node - the node being visited
        p - a parameter value
        Returns:
        a result value
      • visitClass

        R visitClass​(ClassTree node,
                     P p)
        Visits a ClassTree node.
        Parameters:
        node - the node being visited
        p - a parameter value
        Returns:
        a result value
      • visitConditionalExpression

        R visitConditionalExpression​(ConditionalExpressionTree node,
                                     P p)
        Visits a ConditionalExpressionTree node.
        Parameters:
        node - the node being visited
        p - a parameter value
        Returns:
        a result value
      • visitContinue

        R visitContinue​(ContinueTree node,
                        P p)
        Visits a ContinueTree node.
        Parameters:
        node - the node being visited
        p - a parameter value
        Returns:
        a result value
      • visitDoWhileLoop

        R visitDoWhileLoop​(DoWhileLoopTree node,
                           P p)
        Visits a DoWhileTree node.
        Parameters:
        node - the node being visited
        p - a parameter value
        Returns:
        a result value
      • visitErroneous

        R visitErroneous​(ErroneousTree node,
                         P p)
        Visits an ErroneousTree node.
        Parameters:
        node - the node being visited
        p - a parameter value
        Returns:
        a result value
      • visitExpressionStatement

        R visitExpressionStatement​(ExpressionStatementTree node,
                                   P p)
        Visits an ExpressionStatementTree node.
        Parameters:
        node - the node being visited
        p - a parameter value
        Returns:
        a result value
      • visitEnhancedForLoop

        R visitEnhancedForLoop​(EnhancedForLoopTree node,
                               P p)
        Visits an EnhancedForLoopTree node.
        Parameters:
        node - the node being visited
        p - a parameter value
        Returns:
        a result value
      • visitForLoop

        R visitForLoop​(ForLoopTree node,
                       P p)
        Visits a ForLoopTree node.
        Parameters:
        node - the node being visited
        p - a parameter value
        Returns:
        a result value
      • visitIdentifier

        R visitIdentifier​(IdentifierTree node,
                          P p)
        Visits an IdentifierTree node.
        Parameters:
        node - the node being visited
        p - a parameter value
        Returns:
        a result value
      • visitIf

        R visitIf​(IfTree node,
                  P p)
        Visits an IfTree node.
        Parameters:
        node - the node being visited
        p - a parameter value
        Returns:
        a result value
      • visitImport

        R visitImport​(ImportTree node,
                      P p)
        Visits an ImportTree node.
        Parameters:
        node - the node being visited
        p - a parameter value
        Returns:
        a result value
      • visitArrayAccess

        R visitArrayAccess​(ArrayAccessTree node,
                           P p)
        Visits an ArrayAccessTree node.
        Parameters:
        node - the node being visited
        p - a parameter value
        Returns:
        a result value
      • visitLabeledStatement

        R visitLabeledStatement​(LabeledStatementTree node,
                                P p)
        Visits a LabeledStatementTree node.
        Parameters:
        node - the node being visited
        p - a parameter value
        Returns:
        a result value
      • visitLiteral

        R visitLiteral​(LiteralTree node,
                       P p)
        Visits a LiteralTree node.
        Parameters:
        node - the node being visited
        p - a parameter value
        Returns:
        a result value
      • visitMethod

        R visitMethod​(MethodTree node,
                      P p)
        Visits a MethodTree node.
        Parameters:
        node - the node being visited
        p - a parameter value
        Returns:
        a result value
      • visitModifiers

        R visitModifiers​(ModifiersTree node,
                         P p)
        Visits a ModifiersTree node.
        Parameters:
        node - the node being visited
        p - a parameter value
        Returns:
        a result value
      • visitNewArray

        R visitNewArray​(NewArrayTree node,
                        P p)
        Visits a NewArrayTree node.
        Parameters:
        node - the node being visited
        p - a parameter value
        Returns:
        a result value
      • visitNewClass

        R visitNewClass​(NewClassTree node,
                        P p)
        Visits a NewClassTree node.
        Parameters:
        node - the node being visited
        p - a parameter value
        Returns:
        a result value
      • visitLambdaExpression

        R visitLambdaExpression​(LambdaExpressionTree node,
                                P p)
        Visits a LambdaExpressionTree node.
        Parameters:
        node - the node being visited
        p - a parameter value
        Returns:
        a result value
      • visitPackage

        R visitPackage​(PackageTree node,
                       P p)
        Visits a PackageTree node.
        Parameters:
        node - the node being visited
        p - a parameter value
        Returns:
        a result value
      • visitParenthesized

        R visitParenthesized​(ParenthesizedTree node,
                             P p)
        Visits a ParenthesizedTree node.
        Parameters:
        node - the node being visited
        p - a parameter value
        Returns:
        a result value
      • visitReturn

        R visitReturn​(ReturnTree node,
                      P p)
        Visits a ReturnTree node.
        Parameters:
        node - the node being visited
        p - a parameter value
        Returns:
        a result value
      • visitMemberSelect

        R visitMemberSelect​(MemberSelectTree node,
                            P p)
        Visits a MemberSelectTree node.
        Parameters:
        node - the node being visited
        p - a parameter value
        Returns:
        a result value
      • visitMemberReference

        R visitMemberReference​(MemberReferenceTree node,
                               P p)
        Visits a MemberReferenceTree node.
        Parameters:
        node - the node being visited
        p - a parameter value
        Returns:
        a result value
      • visitEmptyStatement

        R visitEmptyStatement​(EmptyStatementTree node,
                              P p)
        Visits an EmptyStatementTree node.
        Parameters:
        node - the node being visited
        p - a parameter value
        Returns:
        a result value
      • visitSwitch

        R visitSwitch​(SwitchTree node,
                      P p)
        Visits a SwitchTree node.
        Parameters:
        node - the node being visited
        p - a parameter value
        Returns:
        a result value
      • visitSwitchExpression

        @Deprecated(forRemoval=true,
                    since="12")
        R visitSwitchExpression​(SwitchExpressionTree node,
                                P p)
        Deprecated, for removal: This API element is subject to removal in a future version.
        This method is modeling switch expressions, which are part of a preview feature and may be removed if the preview feature is removed.
        Visits a SwitchExpressionTree node.
        Parameters:
        node - the node being visited
        p - a parameter value
        Returns:
        a result value
        Since:
        12
      • visitSynchronized

        R visitSynchronized​(SynchronizedTree node,
                            P p)
        Visits a SynchronizedTree node.
        Parameters:
        node - the node being visited
        p - a parameter value
        Returns:
        a result value
      • visitThrow

        R visitThrow​(ThrowTree node,
                     P p)
        Visits a ThrowTree node.
        Parameters:
        node - the node being visited
        p - a parameter value
        Returns:
        a result value
      • visitCompilationUnit

        R visitCompilationUnit​(CompilationUnitTree node,
                               P p)
        Visits a CompilationUnitTree node.
        Parameters:
        node - the node being visited
        p - a parameter value
        Returns:
        a result value
      • visitTry

        R visitTry​(TryTree node,
                   P p)
        Visits a TryTree node.
        Parameters:
        node - the node being visited
        p - a parameter value
        Returns:
        a result value
      • visitParameterizedType

        R visitParameterizedType​(ParameterizedTypeTree node,
                                 P p)
        Visits a ParameterizedTypeTree node.
        Parameters:
        node - the node being visited
        p - a parameter value
        Returns:
        a result value
      • visitUnionType

        R visitUnionType​(UnionTypeTree node,
                         P p)
        Visits a UnionTypeTree node.
        Parameters:
        node - the node being visited
        p - a parameter value
        Returns:
        a result value
      • visitIntersectionType

        R visitIntersectionType​(IntersectionTypeTree node,
                                P p)
        Visits an IntersectionTypeTree node.
        Parameters:
        node - the node being visited
        p - a parameter value
        Returns:
        a result value
      • visitArrayType

        R visitArrayType​(ArrayTypeTree node,
                         P p)
        Visits an ArrayTypeTree node.
        Parameters:
        node - the node being visited
        p - a parameter value
        Returns:
        a result value
      • visitTypeCast

        R visitTypeCast​(TypeCastTree node,
                        P p)
        Visits a TypeCastTree node.
        Parameters:
        node - the node being visited
        p - a parameter value
        Returns:
        a result value
      • visitPrimitiveType

        R visitPrimitiveType​(PrimitiveTypeTree node,
                             P p)
        Visits a PrimitiveTypeTree node.
        Parameters:
        node - the node being visited
        p - a parameter value
        Returns:
        a result value
      • visitTypeParameter

        R visitTypeParameter​(TypeParameterTree node,
                             P p)
        Visits a TypeParameterTree node.
        Parameters:
        node - the node being visited
        p - a parameter value
        Returns:
        a result value
      • visitInstanceOf

        R visitInstanceOf​(InstanceOfTree node,
                          P p)
        Visits an InstanceOfTree node.
        Parameters:
        node - the node being visited
        p - a parameter value
        Returns:
        a result value
      • visitUnary

        R visitUnary​(UnaryTree node,
                     P p)
        Visits a UnaryTree node.
        Parameters:
        node - the node being visited
        p - a parameter value
        Returns:
        a result value
      • visitVariable

        R visitVariable​(VariableTree node,
                        P p)
        Visits a VariableTree node.
        Parameters:
        node - the node being visited
        p - a parameter value
        Returns:
        a result value
      • visitWhileLoop

        R visitWhileLoop​(WhileLoopTree node,
                         P p)
        Visits a WhileLoopTree node.
        Parameters:
        node - the node being visited
        p - a parameter value
        Returns:
        a result value
      • visitWildcard

        R visitWildcard​(WildcardTree node,
                        P p)
        Visits a WildcardTypeTree node.
        Parameters:
        node - the node being visited
        p - a parameter value
        Returns:
        a result value
      • visitModule

        R visitModule​(ModuleTree node,
                      P p)
        Visits a ModuleTree node.
        Parameters:
        node - the node being visited
        p - a parameter value
        Returns:
        a result value
      • visitExports

        R visitExports​(ExportsTree node,
                       P p)
        Visits an ExportsTree node.
        Parameters:
        node - the node being visited
        p - a parameter value
        Returns:
        a result value
      • visitOpens

        R visitOpens​(OpensTree node,
                     P p)
        Visits an OpensTree node.
        Parameters:
        node - the node being visited
        p - a parameter value
        Returns:
        a result value
      • visitProvides

        R visitProvides​(ProvidesTree node,
                        P p)
        Visits a ProvidesTree node.
        Parameters:
        node - the node being visited
        p - a parameter value
        Returns:
        a result value
      • visitRequires

        R visitRequires​(RequiresTree node,
                        P p)
        Visits a RequiresTree node.
        Parameters:
        node - the node being visited
        p - a parameter value
        Returns:
        a result value
      • visitUses

        R visitUses​(UsesTree node,
                    P p)
        Visits a UsesTree node.
        Parameters:
        node - the node being visited
        p - a parameter value
        Returns:
        a result value
      • visitOther

        R visitOther​(Tree node,
                     P p)
        Visits an unknown type of Tree node. This can occur if the language evolves and new kinds of nodes are added to the Tree hierarchy.
        Parameters:
        node - the node being visited
        p - a parameter value
        Returns:
        a result value