java.lang.Object
com.sun.source.util.TreeScanner<R,P>
- Type Parameters:
R
- the return type of this visitor's methods. UseVoid
for visitors that do not need to return results.P
- the type of the additional parameter to this visitor's methods. UseVoid
for visitors that do not need an additional parameter.
- All Implemented Interfaces:
TreeVisitor<R,
P>
- Direct Known Subclasses:
TreePathScanner
TreeScanner
relies on preview features of the Java platform:
TreeScanner
refers 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 TreeVisitor that visits all the child tree nodes.
To visit nodes of a particular type, just override the
corresponding visitXYZ method.
Inside your method, call super.visitXYZ to visit descendant
nodes.
Here is an example to count the number of identifier nodes in a tree:
class CountIdentifiers extends TreeScanner<Integer,Void> { @Override public Integer visitIdentifier(IdentifierTree node, Void p) { return 1; } @Override public Integer reduce(Integer r1, Integer r2) { return (r1 == null ? 0 : r1) + (r2 == null ? 0 : r2); } }
- Implementation Requirements:
The default implementation of the visitXYZ methods will determine a result as follows:
- If the node being visited has no children, the result will be
null
. - If the node being visited has one child, the result will be the
result of calling
scan
with that child. The child may be a simple node or itself a list of nodes. - If the node being visited has more than one child, the result will
be determined by calling
scan
with each child in turn, and then combining the result of each scan after the first with the cumulative result so far, as determined by thereduce(R, R)
method. Each child may be either a simple node or a list of nodes. The default behavior of thereduce
method is such that the result of the visitXYZ method will be the result of the last child scanned.
- If the node being visited has no children, the result will be
- Since:
- 1.6
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionReduces two results into a combined result.Scans a single node.Scans a sequence of nodes.visitAnnotatedType
(AnnotatedTypeTree node, P p) Visits an AnnotatedTypeTree node.visitAnnotation
(AnnotationTree node, P p) Visits an AnnotatedTree node.visitArrayAccess
(ArrayAccessTree node, P p) Visits an ArrayAccessTree node.visitArrayType
(ArrayTypeTree node, P p) Visits an ArrayTypeTree node.visitAssert
(AssertTree node, P p) Visits an AssertTree node.visitAssignment
(AssignmentTree node, P p) Visits an AssignmentTree node.visitBinary
(BinaryTree node, P p) Visits a BinaryTree node.visitBindingPattern
(BindingPatternTree node, P p) Visits an BindingPattern node.visitBlock
(BlockTree node, P p) Visits a BlockTree node.visitBreak
(BreakTree node, P p) Visits a BreakTree node.Visits a CaseTree node.visitCatch
(CatchTree node, P p) Visits a CatchTree node.visitClass
(ClassTree node, P p) Visits a ClassTree node.visitCompilationUnit
(CompilationUnitTree node, P p) Visits a CompilationUnitTree node.Visits a CompoundAssignmentTree node.Visits a ConditionalExpressionTree node.visitContinue
(ContinueTree node, P p) Visits a ContinueTree node.Preview.Visits a DefaultCaseLabelTree node.visitDoWhileLoop
(DoWhileLoopTree node, P p) Visits a DoWhileTree node.visitEmptyStatement
(EmptyStatementTree node, P p) Visits an EmptyStatementTree node.visitEnhancedForLoop
(EnhancedForLoopTree node, P p) Visits an EnhancedForLoopTree node.visitErroneous
(ErroneousTree node, P p) Visits an ErroneousTree node.visitExports
(ExportsTree node, P p) Visits an ExportsTree node.Visits an ExpressionStatementTree node.visitForLoop
(ForLoopTree node, P p) Visits a ForLoopTree node.Preview.Visits a GuardPatternTree node.visitIdentifier
(IdentifierTree node, P p) Visits an IdentifierTree node.Visits an IfTree node.visitImport
(ImportTree node, P p) Visits an ImportTree node.visitInstanceOf
(InstanceOfTree node, P p) Visits an InstanceOfTree node.visitIntersectionType
(IntersectionTypeTree node, P p) Visits an IntersectionTypeTree node.visitLabeledStatement
(LabeledStatementTree node, P p) Visits a LabeledStatementTree node.visitLambdaExpression
(LambdaExpressionTree node, P p) Visits a LambdaExpressionTree node.visitLiteral
(LiteralTree node, P p) Visits a LiteralTree node.visitMemberReference
(MemberReferenceTree node, P p) Visits a MemberReferenceTree node.visitMemberSelect
(MemberSelectTree node, P p) Visits a MemberSelectTree node.visitMethod
(MethodTree node, P p) Visits a MethodTree node.visitMethodInvocation
(MethodInvocationTree node, P p) Visits a MethodInvocationTree node.visitModifiers
(ModifiersTree node, P p) Visits a ModifiersTree node.visitModule
(ModuleTree node, P p) Visits a ModuleTree node.visitNewArray
(NewArrayTree node, P p) Visits a NewArrayTree node.visitNewClass
(NewClassTree node, P p) Visits a NewClassTree node.visitOpens
(OpensTree node, P p) Visits an OpensTree node.visitOther
(Tree node, P p) Visits an unknown type of Tree node.visitPackage
(PackageTree node, P p) Visits a PackageTree node.visitParameterizedType
(ParameterizedTypeTree node, P p) Visits a ParameterizedTypeTree node.visitParenthesized
(ParenthesizedTree node, P p) Visits a ParenthesizedTree node.Preview.Visits a ParenthesizedPatternTree node.visitPrimitiveType
(PrimitiveTypeTree node, P p) Visits a PrimitiveTypeTree node.visitProvides
(ProvidesTree node, P p) Visits a ProvidesTree node.visitRequires
(RequiresTree node, P p) Visits a RequiresTree node.visitReturn
(ReturnTree node, P p) Visits a ReturnTree node.visitSwitch
(SwitchTree node, P p) Visits a SwitchTree node.visitSwitchExpression
(SwitchExpressionTree node, P p) Visits a SwitchExpressionTree node.visitSynchronized
(SynchronizedTree node, P p) Visits a SynchronizedTree node.visitThrow
(ThrowTree node, P p) Visits a ThrowTree node.Visits a TryTree node.visitTypeCast
(TypeCastTree node, P p) Visits a TypeCastTree node.visitTypeParameter
(TypeParameterTree node, P p) Visits a TypeParameterTree node.visitUnary
(UnaryTree node, P p) Visits a UnaryTree node.visitUnionType
(UnionTypeTree node, P p) Visits a UnionTypeTree node.Visits a UsesTree node.visitVariable
(VariableTree node, P p) Visits a VariableTree node.visitWhileLoop
(WhileLoopTree node, P p) Visits a WhileLoopTree node.visitWildcard
(WildcardTree node, P p) Visits a WildcardTypeTree node.visitYield
(YieldTree node, P p) Visits a YieldTree node.
-
Constructor Details
-
TreeScanner
public TreeScanner()Constructs aTreeScanner
.
-
-
Method Details
-
scan
Scans a single node.- Parameters:
tree
- the node to be scannedp
- a parameter value passed to the visit method- Returns:
- the result value from the visit method
-
scan
Scans a sequence of nodes.- Parameters:
nodes
- the nodes to be scannedp
- a parameter value to be passed to the visit method for each node- Returns:
- the combined return value from the visit methods.
The values are combined using the
reduce
method.
-
reduce
Reduces two results into a combined result. The default implementation is to return the first parameter. The general contract of the method is that it may take any action whatsoever.- Parameters:
r1
- the first of the values to be combinedr2
- the second of the values to be combined- Returns:
- the result of combining the two parameters
-
visitCompilationUnit
Visits a CompilationUnitTree node.- Specified by:
visitCompilationUnit
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitPackage
Visits a PackageTree node.- Specified by:
visitPackage
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitImport
Visits an ImportTree node.- Specified by:
visitImport
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitClass
Visits a ClassTree node.- Specified by:
visitClass
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitMethod
Visits a MethodTree node.- Specified by:
visitMethod
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitVariable
Visits a VariableTree node.- Specified by:
visitVariable
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitEmptyStatement
Visits an EmptyStatementTree node.- Specified by:
visitEmptyStatement
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation returns
null
. - Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitBlock
Visits a BlockTree node.- Specified by:
visitBlock
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitDoWhileLoop
Visits a DoWhileTree node.- Specified by:
visitDoWhileLoop
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitWhileLoop
Visits a WhileLoopTree node.- Specified by:
visitWhileLoop
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitForLoop
Visits a ForLoopTree node.- Specified by:
visitForLoop
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitEnhancedForLoop
Visits an EnhancedForLoopTree node.- Specified by:
visitEnhancedForLoop
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitLabeledStatement
Visits a LabeledStatementTree node.- Specified by:
visitLabeledStatement
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitSwitch
Visits a SwitchTree node.- Specified by:
visitSwitch
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitSwitchExpression
Visits a SwitchExpressionTree node.- Specified by:
visitSwitchExpression
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitCase
Visits a CaseTree node.- Specified by:
visitCase
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitSynchronized
Visits a SynchronizedTree node.- Specified by:
visitSynchronized
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitTry
Visits a TryTree node.- Specified by:
visitTry
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitCatch
Visits a CatchTree node.- Specified by:
visitCatch
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitConditionalExpression
Visits a ConditionalExpressionTree node.- Specified by:
visitConditionalExpression
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitIf
Visits an IfTree node.- Specified by:
visitIf
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitExpressionStatement
Visits an ExpressionStatementTree node.- Specified by:
visitExpressionStatement
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitBreak
Visits a BreakTree node.- Specified by:
visitBreak
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation returns
null
. - Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitContinue
Visits a ContinueTree node.- Specified by:
visitContinue
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation returns
null
. - Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitReturn
Visits a ReturnTree node.- Specified by:
visitReturn
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitThrow
Visits a ThrowTree node.- Specified by:
visitThrow
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitAssert
Visits an AssertTree node.- Specified by:
visitAssert
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitMethodInvocation
Visits a MethodInvocationTree node.- Specified by:
visitMethodInvocation
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitNewClass
Visits a NewClassTree node.- Specified by:
visitNewClass
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitNewArray
Visits a NewArrayTree node.- Specified by:
visitNewArray
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitLambdaExpression
Visits a LambdaExpressionTree node.- Specified by:
visitLambdaExpression
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitParenthesized
Visits a ParenthesizedTree node.- Specified by:
visitParenthesized
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitAssignment
Visits an AssignmentTree node.- Specified by:
visitAssignment
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitCompoundAssignment
Visits a CompoundAssignmentTree node.- Specified by:
visitCompoundAssignment
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitUnary
Visits a UnaryTree node.- Specified by:
visitUnary
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitBinary
Visits a BinaryTree node.- Specified by:
visitBinary
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitTypeCast
Visits a TypeCastTree node.- Specified by:
visitTypeCast
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitInstanceOf
Visits an InstanceOfTree node.- Specified by:
visitInstanceOf
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitBindingPattern
Visits an BindingPattern node.- Specified by:
visitBindingPattern
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
- Since:
- 14
-
visitDefaultCaseLabel
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 interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation returns
null
. - Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
- Since:
- 17
-
visitArrayAccess
Visits an ArrayAccessTree node.- Specified by:
visitArrayAccess
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitMemberSelect
Visits a MemberSelectTree node.- Specified by:
visitMemberSelect
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitParenthesizedPattern
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 interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
- Since:
- 17
-
visitGuardedPattern
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 interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
- Since:
- 17
-
visitMemberReference
Visits a MemberReferenceTree node.- Specified by:
visitMemberReference
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitIdentifier
Visits an IdentifierTree node.- Specified by:
visitIdentifier
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation returns
null
. - Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitLiteral
Visits a LiteralTree node.- Specified by:
visitLiteral
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation returns
null
. - Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitPrimitiveType
Visits a PrimitiveTypeTree node.- Specified by:
visitPrimitiveType
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation returns
null
. - Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitArrayType
Visits an ArrayTypeTree node.- Specified by:
visitArrayType
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitParameterizedType
Visits a ParameterizedTypeTree node.- Specified by:
visitParameterizedType
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitUnionType
Visits a UnionTypeTree node.- Specified by:
visitUnionType
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitIntersectionType
Visits an IntersectionTypeTree node.- Specified by:
visitIntersectionType
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitTypeParameter
Visits a TypeParameterTree node.- Specified by:
visitTypeParameter
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitWildcard
Visits a WildcardTypeTree node.- Specified by:
visitWildcard
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitModifiers
Visits a ModifiersTree node.- Specified by:
visitModifiers
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitAnnotation
Visits an AnnotatedTree node.- Specified by:
visitAnnotation
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitAnnotatedType
Visits an AnnotatedTypeTree node.- Specified by:
visitAnnotatedType
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitModule
Visits a ModuleTree node.- Specified by:
visitModule
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitExports
Visits an ExportsTree node.- Specified by:
visitExports
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitOpens
Visits an OpensTree node.- Specified by:
visitOpens
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitProvides
Visits a ProvidesTree node.- Specified by:
visitProvides
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitRequires
Visits a RequiresTree node.- Specified by:
visitRequires
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitUses
Visits a UsesTree node.- Specified by:
visitUses
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitOther
Visits an unknown type of Tree node. This can occur if the language evolves and new kinds of nodes are added to theTree
hierarchy.- Specified by:
visitOther
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation returns
null
. - Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitErroneous
Visits an ErroneousTree node.- Specified by:
visitErroneous
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation returns
null
. - Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitYield
Visits a YieldTree node.- Specified by:
visitYield
in interfaceTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
TreeScanner
when preview features are enabled.