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 a 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 Details Link icon

    • visitAnnotatedType Link icon

      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 Link icon

      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 Link icon

      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 Link icon

      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 Link icon

      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 Link icon

      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 Link icon

      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 Link icon

      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 Link icon

      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 Link icon

      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 Link icon

      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 Link icon

      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 Link icon

      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 Link icon

      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 Link icon

      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 Link icon

      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 Link icon

      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 Link icon

      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 Link icon

      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 Link icon

      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 Link icon

      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 Link icon

      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 Link icon

      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 Link icon

      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 Link icon

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

      R visitStringTemplate(StringTemplateTreePREVIEW node, P p)
      visitStringTemplate is a reflective preview API of the Java platform.
      Preview features may be removed in a future release, or upgraded to permanent features of the Java platform.
      Visits a StringTemplateTree node.
      Parameters:
      node - the node being visited
      p - a parameter value
      Returns:
      a result value
    • visitAnyPattern Link icon

      R visitAnyPattern(AnyPatternTreePREVIEW node, P p)
      visitAnyPattern is a preview API of the Java platform.
      Programs can only use visitAnyPattern when preview features are enabled.
      Preview features may be removed in a future release, or upgraded to permanent features of the Java platform.
      Visits a AnyPatternTree node.
      Parameters:
      node - the node being visited
      p - a parameter value
      Returns:
      a result value
      Since:
      21
    • visitBindingPattern Link icon

      R visitBindingPattern(BindingPatternTree node, P p)
      Visits a BindingPatternTree node.
      Parameters:
      node - the node being visited
      p - a parameter value
      Returns:
      a result value
      Since:
      16
    • visitDefaultCaseLabel Link icon

      R visitDefaultCaseLabel(DefaultCaseLabelTree node, P p)
      Visits a DefaultCaseLabelTree node.
      Parameters:
      node - the node being visited
      p - a parameter value
      Returns:
      a result value
      Since:
      21
    • visitConstantCaseLabel Link icon

      R visitConstantCaseLabel(ConstantCaseLabelTree node, P p)
      Visits a ConstantCaseLabelTree node.
      Parameters:
      node - the node being visited
      p - a parameter value
      Returns:
      a result value
      Since:
      21
    • visitPatternCaseLabel Link icon

      R visitPatternCaseLabel(PatternCaseLabelTree node, P p)
      Visits a PatternCaseLabelTree node.
      Parameters:
      node - the node being visited
      p - a parameter value
      Returns:
      a result value
      Since:
      21
    • visitDeconstructionPattern Link icon

      R visitDeconstructionPattern(DeconstructionPatternTree node, P p)
      Visits a DeconstructionPatternTree node.
      Parameters:
      node - the node being visited
      p - a parameter value
      Returns:
      a result value
      Since:
      21
    • visitMethod Link icon

      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 Link icon

      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 Link icon

      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 Link icon

      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 Link icon

      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 Link icon

      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 Link icon

      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 Link icon

      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 Link icon

      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 Link icon

      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 Link icon

      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 Link icon

      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 Link icon

      R visitSwitchExpression(SwitchExpressionTree node, P p)
      Visits a SwitchExpressionTree node.
      Parameters:
      node - the node being visited
      p - a parameter value
      Returns:
      a result value
      Since:
      12
    • visitSynchronized Link icon

      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 Link icon

      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 Link icon

      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 Link icon

      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 Link icon

      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 Link icon

      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 Link icon

      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 Link icon

      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 Link icon

      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 Link icon

      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 Link icon

      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 Link icon

      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 Link icon

      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 Link icon

      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 Link icon

      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 Link icon

      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 Link icon

      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 Link icon

      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 Link icon

      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 Link icon

      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 Link icon

      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 Link icon

      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 Link icon

      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
    • visitYield Link icon

      R visitYield(YieldTree node, P p)
      Visits a YieldTree node.
      Parameters:
      node - the node being visited
      p - a parameter value
      Returns:
      a result value
      Since:
      13