# 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>
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`
  `visitAnyPattern(AnyPatternTree node, P p)`
  Visits a `AnyPatternTree` 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 a `BindingPatternTree` 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`
  `visitConstantCaseLabel(ConstantCaseLabelTree node, P p)`
  Visits a `ConstantCaseLabelTree` node.
  `R`
  `visitContinue(ContinueTree node, P p)`
  Visits a `ContinueTree` node.
  `R`
  `visitDeconstructionPattern(DeconstructionPatternTree node, P p)`
  Visits a `DeconstructionPatternTree` node.
  `R`
  `visitDefaultCaseLabel(DefaultCaseLabelTree node, P p)`
  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`
  `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`
  `visitPatternCaseLabel(PatternCaseLabelTree node, P p)`
  Visits a `PatternCaseLabelTree` 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 Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  Creates and returns a copy of this object.
  `boolean`
  `equals(Object obj)`
  Indicates whether some other object is "equal to" this one.
  `protected void`
  `finalize()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Finalization is deprecated and subject to removal in a future release.
  `final Class<?>`
  `getClass()`
  Returns the runtime class of this `Object`.
  `int`
  `hashCode()`
  Returns a hash code value for this object.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `String`
  `toString()`
  Returns a string representation of the object.
  `final void`
  `wait()`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
  `final void`
  `wait(long timeoutMillis)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
  `final void`
  `wait(long timeoutMillis, int nanos)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

- ## 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`
    Since:
      14

  - ### 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`

  - ### visitAnyPattern

    public R visitAnyPattern(AnyPatternTree node, P p)
    Visits a `AnyPatternTree` node.
    Specified by:
      `visitAnyPattern` 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:
      22

  - ### visitBindingPattern

    public R visitBindingPattern(BindingPatternTree node, P p)
    Visits a `BindingPatternTree` 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(DefaultCaseLabelTree node, P p)
    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:
      21

  - ### visitConstantCaseLabel

    public R visitConstantCaseLabel(ConstantCaseLabelTree node, P p)
    Visits a `ConstantCaseLabelTree` node.
    Specified by:
      `visitConstantCaseLabel` 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:
      21

  - ### visitDeconstructionPattern

    public R visitDeconstructionPattern(DeconstructionPatternTree node, P p)
    Visits a `DeconstructionPatternTree` node.
    Specified by:
      `visitDeconstructionPattern` 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:
      21

  - ### visitPatternCaseLabel

    public R visitPatternCaseLabel(PatternCaseLabelTree node, P p)
    Visits a `PatternCaseLabelTree` node.
    Specified by:
      `visitPatternCaseLabel` 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:
      21

  - ### 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`

  - ### 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`
    Since:
      14