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.SimpleTreeVisitor, TreePathScanner, TreeScanner
public interface TreeVisitor<R,P>
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.
| Modifier and Type | Method | Description | 
|---|---|---|
| R | visitAnnotatedType | Visits an  AnnotatedTypeTreenode. | 
| R | visitAnnotation | Visits an  AnnotatedTreenode. | 
| R | visitAnyPattern | Preview. Visits a  AnyPatternTreenode. | 
| R | visitArrayAccess | Visits an  ArrayAccessTreenode. | 
| R | visitArrayType | Visits an  ArrayTypeTreenode. | 
| R | visitAssert | Visits an  AssertTreenode. | 
| R | visitAssignment | Visits an  AssignmentTreenode. | 
| R | visitBinary | Visits a  BinaryTreenode. | 
| R | visitBindingPattern | Visits a  BindingPatternTreenode. | 
| R | visitBlock | Visits a  BlockTreenode. | 
| R | visitBreak | Visits a  BreakTreenode. | 
| R | visitCase | Visits a  CaseTreenode. | 
| R | visitCatch | Visits a  CatchTreenode. | 
| R | visitClass | Visits a  ClassTreenode. | 
| R | visitCompilationUnit | Visits a  CompilationUnitTreenode. | 
| R | visitCompoundAssignment | Visits a  CompoundAssignmentTreenode. | 
| R | visitConditionalExpression | Visits a  ConditionalExpressionTreenode. | 
| R | visitConstantCaseLabel | Visits a  ConstantCaseLabelTreenode. | 
| R | visitContinue | Visits a  ContinueTreenode. | 
| R | visitDeconstructionPattern | Visits a  DeconstructionPatternTreenode. | 
| R | visitDefaultCaseLabel | Visits a  DefaultCaseLabelTreenode. | 
| R | visitDoWhileLoop | Visits a  DoWhileTreenode. | 
| R | visitEmptyStatement | Visits an  EmptyStatementTreenode. | 
| R | visitEnhancedForLoop | Visits an  EnhancedForLoopTreenode. | 
| R | visitErroneous | Visits an  ErroneousTreenode. | 
| R | visitExports | Visits an  ExportsTreenode. | 
| R | visitExpressionStatement | Visits an  ExpressionStatementTreenode. | 
| R | visitForLoop | Visits a  ForLoopTreenode. | 
| R | visitIdentifier | Visits an  IdentifierTreenode. | 
| R | visitIf | Visits an  IfTreenode. | 
| R | visitImport | Visits an  ImportTreenode. | 
| R | visitInstanceOf | Visits an  InstanceOfTreenode. | 
| R | visitIntersectionType | Visits an  IntersectionTypeTreenode. | 
| R | visitLabeledStatement | Visits a  LabeledStatementTreenode. | 
| R | visitLambdaExpression | Visits a  LambdaExpressionTreenode. | 
| R | visitLiteral | Visits a  LiteralTreenode. | 
| R | visitMemberReference | Visits a  MemberReferenceTreenode. | 
| R | visitMemberSelect | Visits a  MemberSelectTreenode. | 
| R | visitMethod | Visits a  MethodTreenode. | 
| R | visitMethodInvocation | Visits a  MethodInvocationTreenode. | 
| R | visitModifiers | Visits a  ModifiersTreenode. | 
| R | visitModule | Visits a  ModuleTreenode. | 
| R | visitNewArray | Visits a  NewArrayTreenode. | 
| R | visitNewClass | Visits a  NewClassTreenode. | 
| R | visitOpens | Visits an  OpensTreenode. | 
| R | visitOther | Visits an unknown type of  Treenode. | 
| R | visitPackage | Visits a  PackageTreenode. | 
| R | visitParameterizedType | Visits a  ParameterizedTypeTreenode. | 
| R | visitParenthesized | Visits a  ParenthesizedTreenode. | 
| R | visitPatternCaseLabel | Visits a  PatternCaseLabelTreenode. | 
| R | visitPrimitiveType | Visits a  PrimitiveTypeTreenode. | 
| R | visitProvides | Visits a  ProvidesTreenode. | 
| R | visitRequires | Visits a  RequiresTreenode. | 
| R | visitReturn | Visits a  ReturnTreenode. | 
| R | visitStringTemplate | Preview. Visits a StringTemplateTree node. | 
| R | visitSwitch | Visits a  SwitchTreenode. | 
| R | visitSwitchExpression | Visits a  SwitchExpressionTreenode. | 
| R | visitSynchronized | Visits a  SynchronizedTreenode. | 
| R | visitThrow | Visits a  ThrowTreenode. | 
| R | visitTry | Visits a  TryTreenode. | 
| R | visitTypeCast | Visits a  TypeCastTreenode. | 
| R | visitTypeParameter | Visits a  TypeParameterTreenode. | 
| R | visitUnary | Visits a  UnaryTreenode. | 
| R | visitUnionType | Visits a  UnionTypeTreenode. | 
| R | visitUses | Visits a  UsesTreenode. | 
| R | visitVariable | Visits a  VariableTreenode. | 
| R | visitWhileLoop | Visits a  WhileLoopTreenode. | 
| R | visitWildcard | Visits a  WildcardTypeTreenode. | 
| R | visitYield | Visits a  YieldTreenode. | 
R visitAnnotatedType(AnnotatedTypeTree node, P p)
AnnotatedTypeTree node.node - the node being visitedp - a parameter valueR visitAnnotation(AnnotationTree node, P p)
AnnotatedTree node.node - the node being visitedp - a parameter valueR visitMethodInvocation(MethodInvocationTree node, P p)
MethodInvocationTree node.node - the node being visitedp - a parameter valueR visitAssert(AssertTree node, P p)
AssertTree node.node - the node being visitedp - a parameter valueR visitAssignment(AssignmentTree node, P p)
AssignmentTree node.node - the node being visitedp - a parameter valueR visitCompoundAssignment(CompoundAssignmentTree node, P p)
CompoundAssignmentTree node.node - the node being visitedp - a parameter valueR visitBinary(BinaryTree node, P p)
BinaryTree node.node - the node being visitedp - a parameter valueR visitBlock(BlockTree node, P p)
BlockTree node.node - the node being visitedp - a parameter valueR visitBreak(BreakTree node, P p)
BreakTree node.node - the node being visitedp - a parameter valueR visitCase(CaseTree node, P p)
CaseTree node.node - the node being visitedp - a parameter valueR visitCatch(CatchTree node, P p)
CatchTree node.node - the node being visitedp - a parameter valueR visitClass(ClassTree node, P p)
ClassTree node.node - the node being visitedp - a parameter valueR visitConditionalExpression(ConditionalExpressionTree node, P p)
ConditionalExpressionTree node.node - the node being visitedp - a parameter valueR visitContinue(ContinueTree node, P p)
ContinueTree node.node - the node being visitedp - a parameter valueR visitDoWhileLoop(DoWhileLoopTree node, P p)
DoWhileTree node.node - the node being visitedp - a parameter valueR visitErroneous(ErroneousTree node, P p)
ErroneousTree node.node - the node being visitedp - a parameter valueR visitExpressionStatement(ExpressionStatementTree node, P p)
ExpressionStatementTree node.node - the node being visitedp - a parameter valueR visitEnhancedForLoop(EnhancedForLoopTree node, P p)
EnhancedForLoopTree node.node - the node being visitedp - a parameter valueR visitForLoop(ForLoopTree node, P p)
ForLoopTree node.node - the node being visitedp - a parameter valueR visitIdentifier(IdentifierTree node, P p)
IdentifierTree node.node - the node being visitedp - a parameter valueR visitIf(IfTree node, P p)
IfTree node.node - the node being visitedp - a parameter valueR visitImport(ImportTree node, P p)
ImportTree node.node - the node being visitedp - a parameter valueR visitArrayAccess(ArrayAccessTree node, P p)
ArrayAccessTree node.node - the node being visitedp - a parameter valueR visitLabeledStatement(LabeledStatementTree node, P p)
LabeledStatementTree node.node - the node being visitedp - a parameter valueR visitLiteral(LiteralTree node, P p)
LiteralTree node.node - the node being visitedp - a parameter valueR visitStringTemplate(StringTemplateTreePREVIEW node, P p)
visitStringTemplate is a reflective preview API of the Java platform. node - the node being visitedp - a parameter valueR visitAnyPattern(AnyPatternTreePREVIEW node, P p)
visitAnyPattern is a preview API of the Java platform. visitAnyPattern when preview features are enabled.AnyPatternTree node.node - the node being visitedp - a parameter valueR visitBindingPattern(BindingPatternTree node, P p)
BindingPatternTree node.node - the node being visitedp - a parameter valueR visitDefaultCaseLabel(DefaultCaseLabelTree node, P p)
DefaultCaseLabelTree node.node - the node being visitedp - a parameter valueR visitConstantCaseLabel(ConstantCaseLabelTree node, P p)
ConstantCaseLabelTree node.node - the node being visitedp - a parameter valueR visitPatternCaseLabel(PatternCaseLabelTree node, P p)
PatternCaseLabelTree node.node - the node being visitedp - a parameter valueR visitDeconstructionPattern(DeconstructionPatternTree node, P p)
DeconstructionPatternTree node.node - the node being visitedp - a parameter valueR visitMethod(MethodTree node, P p)
MethodTree node.node - the node being visitedp - a parameter valueR visitModifiers(ModifiersTree node, P p)
ModifiersTree node.node - the node being visitedp - a parameter valueR visitNewArray(NewArrayTree node, P p)
NewArrayTree node.node - the node being visitedp - a parameter valueR visitNewClass(NewClassTree node, P p)
NewClassTree node.node - the node being visitedp - a parameter valueR visitLambdaExpression(LambdaExpressionTree node, P p)
LambdaExpressionTree node.node - the node being visitedp - a parameter valueR visitPackage(PackageTree node, P p)
PackageTree node.node - the node being visitedp - a parameter valueR visitParenthesized(ParenthesizedTree node, P p)
ParenthesizedTree node.node - the node being visitedp - a parameter valueR visitReturn(ReturnTree node, P p)
ReturnTree node.node - the node being visitedp - a parameter valueR visitMemberSelect(MemberSelectTree node, P p)
MemberSelectTree node.node - the node being visitedp - a parameter valueR visitMemberReference(MemberReferenceTree node, P p)
MemberReferenceTree node.node - the node being visitedp - a parameter valueR visitEmptyStatement(EmptyStatementTree node, P p)
EmptyStatementTree node.node - the node being visitedp - a parameter valueR visitSwitch(SwitchTree node, P p)
SwitchTree node.node - the node being visitedp - a parameter valueR visitSwitchExpression(SwitchExpressionTree node, P p)
SwitchExpressionTree node.node - the node being visitedp - a parameter valueR visitSynchronized(SynchronizedTree node, P p)
SynchronizedTree node.node - the node being visitedp - a parameter valueR visitThrow(ThrowTree node, P p)
ThrowTree node.node - the node being visitedp - a parameter valueR visitCompilationUnit(CompilationUnitTree node, P p)
CompilationUnitTree node.node - the node being visitedp - a parameter valueR visitTry(TryTree node, P p)
TryTree node.node - the node being visitedp - a parameter valueR visitParameterizedType(ParameterizedTypeTree node, P p)
ParameterizedTypeTree node.node - the node being visitedp - a parameter valueR visitUnionType(UnionTypeTree node, P p)
UnionTypeTree node.node - the node being visitedp - a parameter valueR visitIntersectionType(IntersectionTypeTree node, P p)
IntersectionTypeTree node.node - the node being visitedp - a parameter valueR visitArrayType(ArrayTypeTree node, P p)
ArrayTypeTree node.node - the node being visitedp - a parameter valueR visitTypeCast(TypeCastTree node, P p)
TypeCastTree node.node - the node being visitedp - a parameter valueR visitPrimitiveType(PrimitiveTypeTree node, P p)
PrimitiveTypeTree node.node - the node being visitedp - a parameter valueR visitTypeParameter(TypeParameterTree node, P p)
TypeParameterTree node.node - the node being visitedp - a parameter valueR visitInstanceOf(InstanceOfTree node, P p)
InstanceOfTree node.node - the node being visitedp - a parameter valueR visitUnary(UnaryTree node, P p)
UnaryTree node.node - the node being visitedp - a parameter valueR visitVariable(VariableTree node, P p)
VariableTree node.node - the node being visitedp - a parameter valueR visitWhileLoop(WhileLoopTree node, P p)
WhileLoopTree node.node - the node being visitedp - a parameter valueR visitWildcard(WildcardTree node, P p)
WildcardTypeTree node.node - the node being visitedp - a parameter valueR visitModule(ModuleTree node, P p)
ModuleTree node.node - the node being visitedp - a parameter valueR visitExports(ExportsTree node, P p)
ExportsTree node.node - the node being visitedp - a parameter valueR visitOpens(OpensTree node, P p)
OpensTree node.node - the node being visitedp - a parameter valueR visitProvides(ProvidesTree node, P p)
ProvidesTree node.node - the node being visitedp - a parameter valueR visitRequires(RequiresTree node, P p)
RequiresTree node.node - the node being visitedp - a parameter valueR visitUses(UsesTree node, P p)
UsesTree node.node - the node being visitedp - a parameter valueR visitOther(Tree node, P p)
Tree node. This can occur if the language evolves and new kinds of nodes are added to the Tree hierarchy.node - the node being visitedp - a parameter valueR visitYield(YieldTree node, P p)
YieldTree node.node - the node being visitedp - a parameter value
    © 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
    https://docs.oracle.com/en/java/javase/21/docs/api/jdk.compiler/com/sun/source/tree/TreeVisitor.html