- Type Parameters:
- R- the return type of this visitor's methods. Use- Voidfor visitors that do not need to return results.
- P- the type of the additional parameter to this visitor's methods. Use- Voidfor visitors that do not need an additional parameter.
- All Known Implementing Classes:
- SimpleTreeVisitor,- TreePathScanner,- TreeScanner
public interface TreeVisitor<R,P> 
TreeVisitor relies on preview features of the Java platform:
- TreeVisitorrefers to one or more reflective preview APIs:- DefaultCaseLabelTree,- GuardedPatternTree,- ParenthesizedPatternTree.
Preview features may be removed in a future release, or upgraded to permanent features of the Java platform.
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 SummaryModifier and TypeMethodDescriptionvisitAnnotatedType(AnnotatedTypeTree node, P p) Visits anAnnotatedTypeTreenode.visitAnnotation(AnnotationTree node, P p) Visits anAnnotatedTreenode.visitArrayAccess(ArrayAccessTree node, P p) Visits anArrayAccessTreenode.visitArrayType(ArrayTypeTree node, P p) Visits anArrayTypeTreenode.visitAssert(AssertTree node, P p) Visits anAssertTreenode.visitAssignment(AssignmentTree node, P p) Visits anAssignmentTreenode.visitBinary(BinaryTree node, P p) Visits aBinaryTreenode.visitBindingPattern(BindingPatternTree node, P p) Visits aBindingPatternTreenode.visitBlock(BlockTree node, P p) Visits aBlockTreenode.visitBreak(BreakTree node, P p) Visits aBreakTreenode.Visits aCaseTreenode.visitCatch(CatchTree node, P p) Visits aCatchTreenode.visitClass(ClassTree node, P p) Visits aClassTreenode.visitCompilationUnit(CompilationUnitTree node, P p) Visits aCompilationUnitTreenode.Visits aCompoundAssignmentTreenode.Visits aConditionalExpressionTreenode.visitContinue(ContinueTree node, P p) Visits aContinueTreenode.Preview.Visits aDefaultCaseLabelTreenode.visitDoWhileLoop(DoWhileLoopTree node, P p) Visits aDoWhileTreenode.visitEmptyStatement(EmptyStatementTree node, P p) Visits anEmptyStatementTreenode.visitEnhancedForLoop(EnhancedForLoopTree node, P p) Visits anEnhancedForLoopTreenode.visitErroneous(ErroneousTree node, P p) Visits anErroneousTreenode.visitExports(ExportsTree node, P p) Visits anExportsTreenode.Visits anExpressionStatementTreenode.visitForLoop(ForLoopTree node, P p) Visits aForLoopTreenode.Preview.Visits aGuardPatternTreenode.visitIdentifier(IdentifierTree node, P p) Visits anIdentifierTreenode.Visits anIfTreenode.visitImport(ImportTree node, P p) Visits anImportTreenode.visitInstanceOf(InstanceOfTree node, P p) Visits anInstanceOfTreenode.visitIntersectionType(IntersectionTypeTree node, P p) Visits anIntersectionTypeTreenode.visitLabeledStatement(LabeledStatementTree node, P p) Visits aLabeledStatementTreenode.visitLambdaExpression(LambdaExpressionTree node, P p) Visits aLambdaExpressionTreenode.visitLiteral(LiteralTree node, P p) Visits aLiteralTreenode.visitMemberReference(MemberReferenceTree node, P p) Visits aMemberReferenceTreenode.visitMemberSelect(MemberSelectTree node, P p) Visits aMemberSelectTreenode.visitMethod(MethodTree node, P p) Visits aMethodTreenode.visitMethodInvocation(MethodInvocationTree node, P p) Visits aMethodInvocationTreenode.visitModifiers(ModifiersTree node, P p) Visits aModifiersTreenode.visitModule(ModuleTree node, P p) Visits aModuleTreenode.visitNewArray(NewArrayTree node, P p) Visits aNewArrayTreenode.visitNewClass(NewClassTree node, P p) Visits aNewClassTreenode.visitOpens(OpensTree node, P p) Visits anOpensTreenode.visitOther(Tree node, P p) Visits an unknown type ofTreenode.visitPackage(PackageTree node, P p) Visits aPackageTreenode.visitParameterizedType(ParameterizedTypeTree node, P p) Visits aParameterizedTypeTreenode.visitParenthesized(ParenthesizedTree node, P p) Visits aParenthesizedTreenode.Preview.Visits aParenthesizedPatternTreenode.visitPrimitiveType(PrimitiveTypeTree node, P p) Visits aPrimitiveTypeTreenode.visitProvides(ProvidesTree node, P p) Visits aProvidesTreenode.visitRequires(RequiresTree node, P p) Visits aRequiresTreenode.visitReturn(ReturnTree node, P p) Visits aReturnTreenode.visitSwitch(SwitchTree node, P p) Visits aSwitchTreenode.visitSwitchExpression(SwitchExpressionTree node, P p) Visits aSwitchExpressionTreenode.visitSynchronized(SynchronizedTree node, P p) Visits aSynchronizedTreenode.visitThrow(ThrowTree node, P p) Visits aThrowTreenode.Visits aTryTreenode.visitTypeCast(TypeCastTree node, P p) Visits aTypeCastTreenode.visitTypeParameter(TypeParameterTree node, P p) Visits aTypeParameterTreenode.visitUnary(UnaryTree node, P p) Visits aUnaryTreenode.visitUnionType(UnionTypeTree node, P p) Visits aUnionTypeTreenode.Visits aUsesTreenode.visitVariable(VariableTree node, P p) Visits aVariableTreenode.visitWhileLoop(WhileLoopTree node, P p) Visits aWhileLoopTreenode.visitWildcard(WildcardTree node, P p) Visits aWildcardTypeTreenode.visitYield(YieldTree node, P p) Visits aYieldTreenode.
- 
Method Details- 
visitAnnotatedTypeVisits anAnnotatedTypeTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
 
- 
visitAnnotationVisits anAnnotatedTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
 
- 
visitMethodInvocationVisits aMethodInvocationTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
 
- 
visitAssertVisits anAssertTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
 
- 
visitAssignmentVisits anAssignmentTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
 
- 
visitCompoundAssignmentVisits aCompoundAssignmentTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
 
- 
visitBinaryVisits aBinaryTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
 
- 
visitBlockVisits aBlockTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
 
- 
visitBreakVisits aBreakTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
 
- 
visitCaseVisits aCaseTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
 
- 
visitCatchVisits aCatchTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
 
- 
visitClassVisits aClassTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
 
- 
visitConditionalExpressionVisits aConditionalExpressionTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
 
- 
visitContinueVisits aContinueTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
 
- 
visitDoWhileLoopVisits aDoWhileTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
 
- 
visitErroneousVisits anErroneousTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
 
- 
visitExpressionStatementVisits anExpressionStatementTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
 
- 
visitEnhancedForLoopVisits anEnhancedForLoopTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
 
- 
visitForLoopVisits aForLoopTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
 
- 
visitIdentifierVisits anIdentifierTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
 
- 
visitIfVisits anIfTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
 
- 
visitImportVisits anImportTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
 
- 
visitArrayAccessVisits anArrayAccessTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
 
- 
visitLabeledStatementVisits aLabeledStatementTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
 
- 
visitLiteralVisits aLiteralTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
 
- 
visitBindingPatternVisits aBindingPatternTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
- Since:
- 16
 
- 
visitDefaultCaseLabelvisitDefaultCaseLabelis 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 aDefaultCaseLabelTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
- Since:
- 17
 
- 
visitMethodVisits aMethodTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
 
- 
visitModifiersVisits aModifiersTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
 
- 
visitNewArrayVisits aNewArrayTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
 
- 
visitGuardedPatternvisitGuardedPatternis 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 aGuardPatternTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
- Since:
- 17
 
- 
visitParenthesizedPatternvisitParenthesizedPatternis 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 aParenthesizedPatternTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
- Since:
- 17
 
- 
visitNewClassVisits aNewClassTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
 
- 
visitLambdaExpressionVisits aLambdaExpressionTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
 
- 
visitPackageVisits aPackageTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
 
- 
visitParenthesizedVisits aParenthesizedTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
 
- 
visitReturnVisits aReturnTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
 
- 
visitMemberSelectVisits aMemberSelectTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
 
- 
visitMemberReferenceVisits aMemberReferenceTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
 
- 
visitEmptyStatementVisits anEmptyStatementTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
 
- 
visitSwitchVisits aSwitchTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
 
- 
visitSwitchExpressionVisits aSwitchExpressionTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
- Since:
- 12
 
- 
visitSynchronizedVisits aSynchronizedTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
 
- 
visitThrowVisits aThrowTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
 
- 
visitCompilationUnitVisits aCompilationUnitTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
 
- 
visitTryVisits aTryTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
 
- 
visitParameterizedTypeVisits aParameterizedTypeTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
 
- 
visitUnionTypeVisits aUnionTypeTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
 
- 
visitIntersectionTypeVisits anIntersectionTypeTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
 
- 
visitArrayTypeVisits anArrayTypeTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
 
- 
visitTypeCastVisits aTypeCastTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
 
- 
visitPrimitiveTypeVisits aPrimitiveTypeTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
 
- 
visitTypeParameterVisits aTypeParameterTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
 
- 
visitInstanceOfVisits anInstanceOfTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
 
- 
visitUnaryVisits aUnaryTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
 
- 
visitVariableVisits aVariableTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
 
- 
visitWhileLoopVisits aWhileLoopTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
 
- 
visitWildcardVisits aWildcardTypeTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
 
- 
visitModuleVisits aModuleTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
 
- 
visitExportsVisits anExportsTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
 
- 
visitOpensVisits anOpensTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
 
- 
visitProvidesVisits aProvidesTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
 
- 
visitRequiresVisits aRequiresTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
 
- 
visitUsesVisits aUsesTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
 
- 
visitOtherVisits an unknown type ofTreenode. This can occur if the language evolves and new kinds of nodes are added to theTreehierarchy.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
 
- 
visitYieldVisits aYieldTreenode.- Parameters:
- node- the node being visited
- p- a parameter value
- Returns:
- a result value
- Since:
- 13
 
 
- 
TreeVisitorwhen preview features are enabled.