Module jdk.compiler
Package com.sun.source.util

# Class SimpleTreeVisitor<R,P>

java.lang.Object
com.sun.source.util.SimpleTreeVisitor<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>`

public class SimpleTreeVisitor<R,P> extends Object implements TreeVisitor<R,P>
`SimpleTreeVisitor` relies on preview features of the Java platform:

- `SimpleTreeVisitor` refers to one or more reflective preview APIs: `DefaultCaseLabelTree`, `GuardedPatternTree`, `ParenthesizedPatternTree`.

Programs can only use `SimpleTreeVisitor` when preview features are enabled.
Preview features may be removed in a future release, or upgraded to permanent features of the Java platform.
A simple visitor for tree nodes.

Since:
  1.6

## Field Summary

Fields
Modifier and Type
Field
Description
`protected final R`
`DEFAULT_VALUE`
The default value, returned by the `default action`.

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`SimpleTreeVisitor()`
Creates a visitor, with a DEFAULT_VALUE of `null`.
`protected`
`SimpleTreeVisitor(R defaultValue)`
Creates a visitor, with a specified DEFAULT_VALUE.

## Method Summary

Modifier and Type
Method
Description
`protected R`
`defaultAction(Tree node, P p)`
The default action, used by all visit methods that are not overridden.
`final R`
`visit(Tree node, P p)`
Invokes the appropriate visit method specific to the type of the node.
`final R`
`visit(Iterable<? extends Tree> nodes, P p)`
Invokes the appropriate visit method on each of a sequence of nodes.
`R`
`visitAnnotatedType(AnnotatedTypeTree node, P p)`
Visits an AnnotatedTypeTree node.
`R`
`visitAnnotation(AnnotationTree node, P p)`
Visits an AnnotatedTree node.
`R`
`visitArrayAccess(ArrayAccessTree node, P p)`
Visits an ArrayAccessTree node.
`R`
`visitArrayType(ArrayTypeTree node, P p)`
Visits an ArrayTypeTree node.
`R`
`visitAssert(AssertTree node, P p)`
Visits an AssertTree node.
`R`
`visitAssignment(AssignmentTree node, P p)`
Visits an AssignmentTree node.
`R`
`visitBinary(BinaryTree node, P p)`
Visits a BinaryTree node.
`R`
`visitBindingPattern(BindingPatternTree node, P p)`
Visits an BindingPattern node.
`R`
`visitBlock(BlockTree node, P p)`
Visits a BlockTree node.
`R`
`visitBreak(BreakTree node, P p)`
Visits a BreakTree node.
`R`
`visitCase(CaseTree node, P p)`
Visits a CaseTree node.
`R`
`visitCatch(CatchTree node, P p)`
Visits a CatchTree node.
`R`
`visitClass(ClassTree node, P p)`
Visits a ClassTree node.
`R`
`visitCompilationUnit(CompilationUnitTree node, P p)`
Visits a CompilationUnitTree node.
`R`
`visitCompoundAssignment(CompoundAssignmentTree node, P p)`
Visits a CompoundAssignmentTree node.
`R`
`visitConditionalExpression(ConditionalExpressionTree node, P p)`
Visits a ConditionalExpressionTree node.
`R`
`visitContinue(ContinueTree node, P p)`
Visits a ContinueTree node.
`R`
`visitDefaultCaseLabel(DefaultCaseLabelTreePREVIEW node, P p)`
Preview.
Visits a DefaultCaseLabelTree node.
`R`
`visitDoWhileLoop(DoWhileLoopTree node, P p)`
Visits a DoWhileTree node.
`R`
`visitEmptyStatement(EmptyStatementTree node, P p)`
Visits an EmptyStatementTree node.
`R`
`visitEnhancedForLoop(EnhancedForLoopTree node, P p)`
Visits an EnhancedForLoopTree node.
`R`
`visitErroneous(ErroneousTree node, P p)`
Visits an ErroneousTree node.
`R`
`visitExports(ExportsTree node, P p)`
Visits an ExportsTree node.
`R`
`visitExpressionStatement(ExpressionStatementTree node, P p)`
Visits an ExpressionStatementTree node.
`R`
`visitForLoop(ForLoopTree node, P p)`
Visits a ForLoopTree node.
`R`
`visitGuardedPattern(GuardedPatternTreePREVIEW node, P p)`
Preview.
Visits a GuardPatternTree node.
`R`
`visitIdentifier(IdentifierTree node, P p)`
Visits an IdentifierTree node.
`R`
`visitIf(IfTree node, P p)`
Visits an IfTree node.
`R`
`visitImport(ImportTree node, P p)`
Visits an ImportTree node.
`R`
`visitInstanceOf(InstanceOfTree node, P p)`
Visits an InstanceOfTree node.
`R`
`visitIntersectionType(IntersectionTypeTree node, P p)`
Visits an IntersectionTypeTree node.
`R`
`visitLabeledStatement(LabeledStatementTree node, P p)`
Visits a LabeledStatementTree node.
`R`
`visitLambdaExpression(LambdaExpressionTree node, P p)`
Visits a LambdaExpressionTree node.
`R`
`visitLiteral(LiteralTree node, P p)`
Visits a LiteralTree node.
`R`
`visitMemberReference(MemberReferenceTree node, P p)`
Visits a MemberReferenceTree node.
`R`
`visitMemberSelect(MemberSelectTree node, P p)`
Visits a MemberSelectTree node.
`R`
`visitMethod(MethodTree node, P p)`
Visits a MethodTree node.
`R`
`visitMethodInvocation(MethodInvocationTree node, P p)`
Visits a MethodInvocationTree node.
`R`
`visitModifiers(ModifiersTree node, P p)`
Visits a ModifiersTree node.
`R`
`visitModule(ModuleTree node, P p)`
Visits a ModuleTree node.
`R`
`visitNewArray(NewArrayTree node, P p)`
Visits a NewArrayTree node.
`R`
`visitNewClass(NewClassTree node, P p)`
Visits a NewClassTree node.
`R`
`visitOpens(OpensTree node, P p)`
Visits an OpensTree node.
`R`
`visitOther(Tree node, P p)`
Visits an unknown type of Tree node.
`R`
`visitPackage(PackageTree node, P p)`
Visits a PackageTree node.
`R`
`visitParameterizedType(ParameterizedTypeTree node, P p)`
Visits a ParameterizedTypeTree node.
`R`
`visitParenthesized(ParenthesizedTree node, P p)`
Visits a ParenthesizedTree node.
`R`
`visitParenthesizedPattern(ParenthesizedPatternTreePREVIEW node, P p)`
Preview.
Visits a ParenthesizedPatternTree node.
`R`
`visitPrimitiveType(PrimitiveTypeTree node, P p)`
Visits a PrimitiveTypeTree node.
`R`
`visitProvides(ProvidesTree node, P p)`
Visits a ProvidesTree node.
`R`
`visitRequires(RequiresTree node, P p)`
Visits a RequiresTree node.
`R`
`visitReturn(ReturnTree node, P p)`
Visits a ReturnTree node.
`R`
`visitSwitch(SwitchTree node, P p)`
Visits a SwitchTree node.
`R`
`visitSwitchExpression(SwitchExpressionTree node, P p)`
Visits a SwitchExpressionTree node.
`R`
`visitSynchronized(SynchronizedTree node, P p)`
Visits a SynchronizedTree node.
`R`
`visitThrow(ThrowTree node, P p)`
Visits a ThrowTree node.
`R`
`visitTry(TryTree node, P p)`
Visits a TryTree node.
`R`
`visitTypeCast(TypeCastTree node, P p)`
Visits a TypeCastTree node.
`R`
`visitTypeParameter(TypeParameterTree node, P p)`
Visits a TypeParameterTree node.
`R`
`visitUnary(UnaryTree node, P p)`
Visits a UnaryTree node.
`R`
`visitUnionType(UnionTypeTree node, P p)`
Visits a UnionTypeTree node.
`R`
`visitUses(UsesTree node, P p)`
Visits a UsesTree node.
`R`
`visitVariable(VariableTree node, P p)`
Visits a VariableTree node.
`R`
`visitWhileLoop(WhileLoopTree node, P p)`
Visits a WhileLoopTree node.
`R`
`visitWildcard(WildcardTree node, P p)`
Visits a WildcardTypeTree node.
`R`
`visitYield(YieldTree node, P p)`
Visits a YieldTree node.

### Methods declared in class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### DEFAULT_VALUE

protected final R DEFAULT_VALUE
The default value, returned by the `default action`.

## Constructor Details

### SimpleTreeVisitor

protected SimpleTreeVisitor()
Creates a visitor, with a DEFAULT_VALUE of `null`.

### SimpleTreeVisitor

protected SimpleTreeVisitor(R defaultValue)
Creates a visitor, with a specified DEFAULT_VALUE.

Parameters:
  `defaultValue` - the default value to be returned by the default action

## Method Details

### defaultAction

protected R defaultAction(Tree node, P p)
The default action, used by all visit methods that are not overridden.

Parameters:
  `node` - the node being visited
  `p` - the parameter value passed to the visit method
Returns:
  the result value to be returned from the visit method

### visit

public final R visit(Tree node, P p)
Invokes the appropriate visit method specific to the type of the node.

Parameters:
  `node` - the node on which to dispatch
  `p` - a parameter to be passed to the appropriate visit method
Returns:
  the value returns from the appropriate visit method

### visit

public final R visit(Iterable<? extends Tree> nodes, P p)
Invokes the appropriate visit method on each of a sequence of nodes.

Parameters:
  `nodes` - the nodes on which to dispatch
  `p` - a parameter value to be passed to each appropriate visit method
Returns:
  the value return from the last of the visit methods, or null if none were called

### visitCompilationUnit

public R visitCompilationUnit(CompilationUnitTree node, P p)
Visits a CompilationUnitTree node.

Specified by:
  `visitCompilationUnit` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`

### visitPackage

public R visitPackage(PackageTree node, P p)
Visits a PackageTree node.

Specified by:
  `visitPackage` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`

### visitImport

public R visitImport(ImportTree node, P p)
Visits an ImportTree node.

Specified by:
  `visitImport` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`

### visitClass

public R visitClass(ClassTree node, P p)
Visits a ClassTree node.

Specified by:
  `visitClass` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`

### visitMethod

public R visitMethod(MethodTree node, P p)
Visits a MethodTree node.

Specified by:
  `visitMethod` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`

### visitVariable

public R visitVariable(VariableTree node, P p)
Visits a VariableTree node.

Specified by:
  `visitVariable` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`

### visitEmptyStatement

public R visitEmptyStatement(EmptyStatementTree node, P p)
Visits an EmptyStatementTree node.

Specified by:
  `visitEmptyStatement` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`

### visitBlock

public R visitBlock(BlockTree node, P p)
Visits a BlockTree node.

Specified by:
  `visitBlock` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`

### visitDoWhileLoop

public R visitDoWhileLoop(DoWhileLoopTree node, P p)
Visits a DoWhileTree node.

Specified by:
  `visitDoWhileLoop` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`

### visitWhileLoop

public R visitWhileLoop(WhileLoopTree node, P p)
Visits a WhileLoopTree node.

Specified by:
  `visitWhileLoop` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`

### visitForLoop

public R visitForLoop(ForLoopTree node, P p)
Visits a ForLoopTree node.

Specified by:
  `visitForLoop` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`

### visitEnhancedForLoop

public R visitEnhancedForLoop(EnhancedForLoopTree node, P p)
Visits an EnhancedForLoopTree node.

Specified by:
  `visitEnhancedForLoop` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`

### visitLabeledStatement

public R visitLabeledStatement(LabeledStatementTree node, P p)
Visits a LabeledStatementTree node.

Specified by:
  `visitLabeledStatement` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`

### visitSwitch

public R visitSwitch(SwitchTree node, P p)
Visits a SwitchTree node.

Specified by:
  `visitSwitch` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`

### visitSwitchExpression

public R visitSwitchExpression(SwitchExpressionTree node, P p)
Visits a SwitchExpressionTree node.

Specified by:
  `visitSwitchExpression` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`

### visitCase

public R visitCase(CaseTree node, P p)
Visits a CaseTree node.

Specified by:
  `visitCase` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`

### visitSynchronized

public R visitSynchronized(SynchronizedTree node, P p)
Visits a SynchronizedTree node.

Specified by:
  `visitSynchronized` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`

### visitTry

public R visitTry(TryTree node, P p)
Visits a TryTree node.

Specified by:
  `visitTry` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`

### visitCatch

public R visitCatch(CatchTree node, P p)
Visits a CatchTree node.

Specified by:
  `visitCatch` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`

### visitConditionalExpression

public R visitConditionalExpression(ConditionalExpressionTree node, P p)
Visits a ConditionalExpressionTree node.

Specified by:
  `visitConditionalExpression` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`

### visitIf

public R visitIf(IfTree node, P p)
Visits an IfTree node.

Specified by:
  `visitIf` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`

### visitExpressionStatement

public R visitExpressionStatement(ExpressionStatementTree node, P p)
Visits an ExpressionStatementTree node.

Specified by:
  `visitExpressionStatement` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`

### visitBreak

public R visitBreak(BreakTree node, P p)
Visits a BreakTree node.

Specified by:
  `visitBreak` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`

### visitContinue

public R visitContinue(ContinueTree node, P p)
Visits a ContinueTree node.

Specified by:
  `visitContinue` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`

### visitReturn

public R visitReturn(ReturnTree node, P p)
Visits a ReturnTree node.

Specified by:
  `visitReturn` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`

### visitThrow

public R visitThrow(ThrowTree node, P p)
Visits a ThrowTree node.

Specified by:
  `visitThrow` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`

### visitAssert

public R visitAssert(AssertTree node, P p)
Visits an AssertTree node.

Specified by:
  `visitAssert` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`

### visitMethodInvocation

public R visitMethodInvocation(MethodInvocationTree node, P p)
Visits a MethodInvocationTree node.

Specified by:
  `visitMethodInvocation` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`

### visitNewClass

public R visitNewClass(NewClassTree node, P p)
Visits a NewClassTree node.

Specified by:
  `visitNewClass` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`

### visitNewArray

public R visitNewArray(NewArrayTree node, P p)
Visits a NewArrayTree node.

Specified by:
  `visitNewArray` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`

### visitLambdaExpression

public R visitLambdaExpression(LambdaExpressionTree node, P p)
Visits a LambdaExpressionTree node.

Specified by:
  `visitLambdaExpression` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`

### visitParenthesized

public R visitParenthesized(ParenthesizedTree node, P p)
Visits a ParenthesizedTree node.

Specified by:
  `visitParenthesized` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`

### visitAssignment

public R visitAssignment(AssignmentTree node, P p)
Visits an AssignmentTree node.

Specified by:
  `visitAssignment` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`

### visitCompoundAssignment

public R visitCompoundAssignment(CompoundAssignmentTree node, P p)
Visits a CompoundAssignmentTree node.

Specified by:
  `visitCompoundAssignment` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`

### visitUnary

public R visitUnary(UnaryTree node, P p)
Visits a UnaryTree node.

Specified by:
  `visitUnary` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`

### visitBinary

public R visitBinary(BinaryTree node, P p)
Visits a BinaryTree node.

Specified by:
  `visitBinary` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`

### visitTypeCast

public R visitTypeCast(TypeCastTree node, P p)
Visits a TypeCastTree node.

Specified by:
  `visitTypeCast` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`

### visitInstanceOf

public R visitInstanceOf(InstanceOfTree node, P p)
Visits an InstanceOfTree node.

Specified by:
  `visitInstanceOf` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`

### visitBindingPattern

public R visitBindingPattern(BindingPatternTree node, P p)
Visits an BindingPattern node.

Specified by:
  `visitBindingPattern` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`
Since:
  14

### visitDefaultCaseLabel

public R visitDefaultCaseLabel(DefaultCaseLabelTreePREVIEW node, P p)
`visitDefaultCaseLabel` 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 DefaultCaseLabelTree node.

Specified by:
  `visitDefaultCaseLabel` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`
Since:
  17

### visitArrayAccess

public R visitArrayAccess(ArrayAccessTree node, P p)
Visits an ArrayAccessTree node.

Specified by:
  `visitArrayAccess` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`

### visitMemberSelect

public R visitMemberSelect(MemberSelectTree node, P p)
Visits a MemberSelectTree node.

Specified by:
  `visitMemberSelect` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`

### visitParenthesizedPattern

public R visitParenthesizedPattern(ParenthesizedPatternTreePREVIEW node, P p)
`visitParenthesizedPattern` 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 ParenthesizedPatternTree node.

Specified by:
  `visitParenthesizedPattern` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`
Since:
  17

### visitGuardedPattern

public R visitGuardedPattern(GuardedPatternTreePREVIEW node, P p)
`visitGuardedPattern` 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 GuardPatternTree node.

Specified by:
  `visitGuardedPattern` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`
Since:
  17

### visitMemberReference

public R visitMemberReference(MemberReferenceTree node, P p)
Visits a MemberReferenceTree node.

Specified by:
  `visitMemberReference` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`

### visitIdentifier

public R visitIdentifier(IdentifierTree node, P p)
Visits an IdentifierTree node.

Specified by:
  `visitIdentifier` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`

### visitLiteral

public R visitLiteral(LiteralTree node, P p)
Visits a LiteralTree node.

Specified by:
  `visitLiteral` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`

### visitPrimitiveType

public R visitPrimitiveType(PrimitiveTypeTree node, P p)
Visits a PrimitiveTypeTree node.

Specified by:
  `visitPrimitiveType` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`

### visitArrayType

public R visitArrayType(ArrayTypeTree node, P p)
Visits an ArrayTypeTree node.

Specified by:
  `visitArrayType` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`

### visitParameterizedType

public R visitParameterizedType(ParameterizedTypeTree node, P p)
Visits a ParameterizedTypeTree node.

Specified by:
  `visitParameterizedType` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`

### visitUnionType

public R visitUnionType(UnionTypeTree node, P p)
Visits a UnionTypeTree node.

Specified by:
  `visitUnionType` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`

### visitIntersectionType

public R visitIntersectionType(IntersectionTypeTree node, P p)
Visits an IntersectionTypeTree node.

Specified by:
  `visitIntersectionType` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`

### visitTypeParameter

public R visitTypeParameter(TypeParameterTree node, P p)
Visits a TypeParameterTree node.

Specified by:
  `visitTypeParameter` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`

### visitWildcard

public R visitWildcard(WildcardTree node, P p)
Visits a WildcardTypeTree node.

Specified by:
  `visitWildcard` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`

### visitModifiers

public R visitModifiers(ModifiersTree node, P p)
Visits a ModifiersTree node.

Specified by:
  `visitModifiers` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`

### visitAnnotation

public R visitAnnotation(AnnotationTree node, P p)
Visits an AnnotatedTree node.

Specified by:
  `visitAnnotation` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`

### visitAnnotatedType

public R visitAnnotatedType(AnnotatedTypeTree node, P p)
Visits an AnnotatedTypeTree node.

Specified by:
  `visitAnnotatedType` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`

### visitModule

public R visitModule(ModuleTree node, P p)
Visits a ModuleTree node.

Specified by:
  `visitModule` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`

### visitExports

public R visitExports(ExportsTree node, P p)
Visits an ExportsTree node.

Specified by:
  `visitExports` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`

### visitOpens

public R visitOpens(OpensTree node, P p)
Visits an OpensTree node.

Specified by:
  `visitOpens` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`

### visitProvides

public R visitProvides(ProvidesTree node, P p)
Visits a ProvidesTree node.

Specified by:
  `visitProvides` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`

### visitRequires

public R visitRequires(RequiresTree node, P p)
Visits a RequiresTree node.

Specified by:
  `visitRequires` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`

### visitUses

public R visitUses(UsesTree node, P p)
Visits a UsesTree node.

Specified by:
  `visitUses` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`

### visitErroneous

public R visitErroneous(ErroneousTree node, P p)
Visits an ErroneousTree node.

Specified by:
  `visitErroneous` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`

### visitOther

public 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.

Specified by:
  `visitOther` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`

### visitYield

public R visitYield(YieldTree node, P p)
Visits a YieldTree node.

Specified by:
  `visitYield` in interface `TreeVisitor<R,P>`
Implementation Requirements:
  This implementation calls `defaultAction`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  the result of `defaultAction`