Class TreePathScanner<R,P>
java.lang.Object
com.sun.source.util.TreeScanner<R,P>
com.sun.source.util.TreePathScanner<R,P>
- Type Parameters:
R- the return type of this visitor's methods. UseVoidfor visitors that do not need to return results.P- the type of the additional parameter to this visitor's methods. UseVoidfor visitors that do not need an additional parameter.
- All Implemented Interfaces:
TreeVisitor<R,P>
public class TreePathScanner<R,P> extends TreeScanner<R,P>
A TreeVisitor that visits all the child tree nodes, and provides support for maintaining a path for the parent nodes. To visit nodes of a particular type, just override the corresponding visitorXYZ method. Inside your method, call super.visitXYZ to visit descendant nodes.
- API Note:
- In order to initialize the "current path", the scan must be started by calling one of the
scanmethods. - Since:
- 1.6
Constructor Summary
| Constructor | Description |
|---|---|
TreePathScanner() |
Constructs a TreePathScanner. |
Method Summary
Methods declared in class TreeScanner
reduce, scan, visitAnnotatedType, visitAnnotation, visitAnyPattern, visitArrayAccess, visitArrayType, visitAssert, visitAssignment, visitBinary, visitBindingPattern, visitBlock, visitBreak, visitCase, visitCatch, visitClass, visitCompilationUnit, visitCompoundAssignment, visitConditionalExpression, visitConstantCaseLabel, visitContinue, visitDeconstructionPattern, visitDefaultCaseLabel, visitDoWhileLoop, visitEmptyStatement, visitEnhancedForLoop, visitErroneous, visitExports, visitExpressionStatement, visitForLoop, visitIdentifier, visitIf, visitImport, visitInstanceOf, visitIntersectionType, visitLabeledStatement, visitLambdaExpression, visitLiteral, visitMemberReference, visitMemberSelect, visitMethod, visitMethodInvocation, visitModifiers, visitModule, visitNewArray, visitNewClass, visitOpens, visitOther, visitPackage, visitParameterizedType, visitParenthesized, visitPatternCaseLabel, visitPrimitiveType, visitProvides, visitRequires, visitReturn, visitSwitch, visitSwitchExpression, visitSynchronized, visitThrow, visitTry, visitTypeCast, visitTypeParameter, visitUnary, visitUnionType, visitUses, visitVariable, visitVarType, visitWhileLoop, visitWildcard, visitYield | Modifier and Type | Method | Description |
|---|---|---|
R |
reduce |
Reduces two results into a combined result. |
R |
scan |
Scans a sequence of nodes. |
R |
visitAnnotatedType |
Visits an AnnotatedTypeTree node. |
R |
visitAnnotation |
Visits an AnnotatedTree node. |
R |
visitAnyPattern |
Visits a AnyPatternTree node. |
R |
visitArrayAccess |
Visits an ArrayAccessTree node. |
R |
visitArrayType |
Visits an ArrayTypeTree node. |
R |
visitAssert |
Visits an AssertTree node. |
R |
visitAssignment |
Visits an AssignmentTree node. |
R |
visitBinary |
Visits a BinaryTree node. |
R |
visitBindingPattern |
Visits a BindingPatternTree node. |
R |
visitBlock |
Visits a BlockTree node. |
R |
visitBreak |
Visits a BreakTree node. |
R |
visitCase |
Visits a CaseTree node. |
R |
visitCatch |
Visits a CatchTree node. |
R |
visitClass |
Visits a ClassTree node. |
R |
visitCompilationUnit |
Visits a CompilationUnitTree node. |
R |
visitCompoundAssignment |
Visits a CompoundAssignmentTree node. |
R |
visitConditionalExpression |
Visits a ConditionalExpressionTree node. |
R |
visitConstantCaseLabel |
Visits a ConstantCaseLabelTree node. |
R |
visitContinue |
Visits a ContinueTree node. |
R |
visitDeconstructionPattern |
Visits a DeconstructionPatternTree node. |
R |
visitDefaultCaseLabel |
Visits a DefaultCaseLabelTree node. |
R |
visitDoWhileLoop |
Visits a DoWhileTree node. |
R |
visitEmptyStatement |
Visits an EmptyStatementTree node. |
R |
visitEnhancedForLoop |
Visits an EnhancedForLoopTree node. |
R |
visitErroneous |
Visits an ErroneousTree node. |
R |
visitExports |
Visits an ExportsTree node. |
R |
visitExpressionStatement |
Visits an ExpressionStatementTree node. |
R |
visitForLoop |
Visits a ForLoopTree node. |
R |
visitIdentifier |
Visits an IdentifierTree node. |
R |
visitIf |
Visits an IfTree node. |
R |
visitImport |
Visits an ImportTree node. |
R |
visitInstanceOf |
Visits an InstanceOfTree node. |
R |
visitIntersectionType |
Visits an IntersectionTypeTree node. |
R |
visitLabeledStatement |
Visits a LabeledStatementTree node. |
R |
visitLambdaExpression |
Visits a LambdaExpressionTree node. |
R |
visitLiteral |
Visits a LiteralTree node. |
R |
visitMemberReference |
Visits a MemberReferenceTree node. |
R |
visitMemberSelect |
Visits a MemberSelectTree node. |
R |
visitMethod |
Visits a MethodTree node. |
R |
visitMethodInvocation |
Visits a MethodInvocationTree node. |
R |
visitModifiers |
Visits a ModifiersTree node. |
R |
visitModule |
Visits a ModuleTree node. |
R |
visitNewArray |
Visits a NewArrayTree node. |
R |
visitNewClass |
Visits a NewClassTree node. |
R |
visitOpens |
Visits an OpensTree node. |
R |
visitOther |
Visits an unknown type of Tree node. |
R |
visitPackage |
Visits a PackageTree node. |
R |
visitParameterizedType |
Visits a ParameterizedTypeTree node. |
R |
visitParenthesized |
Visits a ParenthesizedTree node. |
R |
visitPatternCaseLabel |
Visits a PatternCaseLabelTree node. |
R |
visitPrimitiveType |
Visits a PrimitiveTypeTree node. |
R |
visitProvides |
Visits a ProvidesTree node. |
R |
visitRequires |
Visits a RequiresTree node. |
R |
visitReturn |
Visits a ReturnTree node. |
R |
visitSwitch |
Visits a SwitchTree node. |
R |
visitSwitchExpression |
Visits a SwitchExpressionTree node. |
R |
visitSynchronized |
Visits a SynchronizedTree node. |
R |
visitThrow |
Visits a ThrowTree node. |
R |
visitTry |
Visits a TryTree node. |
R |
visitTypeCast |
Visits a TypeCastTree node. |
R |
visitTypeParameter |
Visits a TypeParameterTree node. |
R |
visitUnary |
Visits a UnaryTree node. |
R |
visitUnionType |
Visits a UnionTypeTree node. |
R |
visitUses |
Visits a UsesTree node. |
R |
visitVariable |
Visits a VariableTree node. |
R |
visitVarType |
Visits a VarTypeTree node. |
R |
visitWhileLoop |
Visits a WhileLoopTree node. |
R |
visitWildcard |
Visits a WildcardTypeTree node. |
R |
visitYield |
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 |
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 |
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 |
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. |
Constructor Details
TreePathScanner
public TreePathScanner()
Constructs a
TreePathScanner.Method Details
scan
public R scan(TreePath path, P p)
Scans a tree from a position identified by a TreePath.
- Parameters:
-
path- the path identifying the node to be scanned -
p- a parameter value passed to visit methods - Returns:
- the result value from the visit method
scan
public R scan(Tree tree, P p)
Scans a single node. The current path is updated for the duration of the scan.
- Overrides:
-
scanin classTreeScanner<R,P> - API Note:
- This method should normally only be called by the scanner's
visitmethods, as part of an ongoing scan initiated byscan(TreePath, P). The one exception is that it may also be called to initiate a full scan of aCompilationUnitTree. - Parameters:
-
tree- the node to be scanned -
p- a parameter value passed to the visit method - Returns:
- the result value from the visit method
getCurrentPath
public TreePath getCurrentPath()
Returns the current path for the node, as built up by the currently active set of scan calls.
- Returns:
- the current path
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.