Spec-Zone.ru › OpenJDK 27

Класс TreePathScanner<R,P>

java.lang.Object
com.sun.source.util.TreeScanner<R,P>
com.sun.source.util.TreePathScanner<R,P>
Параметры типа:
R — тип возвращаемого значения методов этого посетителя. Используйте Void для посетителей, которым не нужно возвращать результаты.
P — тип дополнительного параметра методов этого посетителя. Используйте Void для посетителей, которым не нужен дополнительный параметр.
Все реализуемые интерфейсы:
TreeVisitor<R,P>
public class TreePathScanner<R,P> extends TreeScanner<R,P>
TreeVisitor, посещающий все дочерние узлы дерева и поддерживающий путь к родительским узлам. Чтобы посещать узлы определённого типа, достаточно переопределить соответствующий метод visitorXYZ. Внутри метода вызовите super.visitXYZ, чтобы посетить дочерние узлы.
Примечание API:
Чтобы инициализировать «текущий путь», сканирование необходимо начать вызовом одного из методов scan.
Начиная с версии:
1.6

Краткое описание конструкторов

Конструктор Описание
TreePathScanner()
Создаёт TreePathScanner.

Краткое описание методов

Модификатор и тип Метод Описание
TreePath getCurrentPath()
Возвращает текущий путь к узлу, сформированный набором активных вызовов scan.
R scan(Tree tree, P p)
Сканирует один узел.
R scan(TreePath path, P p)
Сканирует дерево, начиная с позиции, определяемой объектом TreePath.

Методы, объявленные в классе 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
Модификатор и тип Метод Описание
R reduce(R r1, R r2)
Объединяет два результата.
R scan(Iterable<? extends Tree> nodes, P p)
Сканирует последовательность узлов.
R visitAnnotatedType(AnnotatedTypeTree node, P p)
Посещает узел AnnotatedTypeTree.
R visitAnnotation(AnnotationTree node, P p)
Посещает узел AnnotatedTree.
R visitAnyPattern(AnyPatternTree node, P p)
Посещает узел AnyPatternTree.
R visitArrayAccess(ArrayAccessTree node, P p)
Посещает узел ArrayAccessTree.
R visitArrayType(ArrayTypeTree node, P p)
Посещает узел ArrayTypeTree.
R visitAssert(AssertTree node, P p)
Посещает узел AssertTree.
R visitAssignment(AssignmentTree node, P p)
Посещает узел AssignmentTree.
R visitBinary(BinaryTree node, P p)
Посещает узел BinaryTree.
R visitBindingPattern(BindingPatternTree node, P p)
Посещает узел BindingPatternTree.
R visitBlock(BlockTree node, P p)
Посещает узел BlockTree.
R visitBreak(BreakTree node, P p)
Посещает узел BreakTree.
R visitCase(CaseTree node, P p)
Посещает узел CaseTree.
R visitCatch(CatchTree node, P p)
Посещает узел CatchTree.
R visitClass(ClassTree node, P p)
Посещает узел ClassTree.
R visitCompilationUnit(CompilationUnitTree node, P p)
Посещает узел CompilationUnitTree.
R visitCompoundAssignment(CompoundAssignmentTree node, P p)
Посещает узел CompoundAssignmentTree.
R visitConditionalExpression(ConditionalExpressionTree node, P p)
Посещает узел ConditionalExpressionTree.
R visitConstantCaseLabel(ConstantCaseLabelTree node, P p)
Посещает узел ConstantCaseLabelTree.
R visitContinue(ContinueTree node, P p)
Посещает узел ContinueTree.
R visitDeconstructionPattern(DeconstructionPatternTree node, P p)
Посещает узел DeconstructionPatternTree.
R visitDefaultCaseLabel(DefaultCaseLabelTree node, P p)
Посещает узел DefaultCaseLabelTree.
R visitDoWhileLoop(DoWhileLoopTree node, P p)
Посещает узел DoWhileTree.
R visitEmptyStatement(EmptyStatementTree node, P p)
Посещает узел EmptyStatementTree.
R visitEnhancedForLoop(EnhancedForLoopTree node, P p)
Посещает узел EnhancedForLoopTree.
R visitErroneous(ErroneousTree node, P p)
Посещает узел ErroneousTree.
R visitExports(ExportsTree node, P p)
Посещает узел ExportsTree.
R visitExpressionStatement(ExpressionStatementTree node, P p)
Посещает узел ExpressionStatementTree.
R visitForLoop(ForLoopTree node, P p)
Посещает узел ForLoopTree.
R visitIdentifier(IdentifierTree node, P p)
Посещает узел IdentifierTree.
R visitIf(IfTree node, P p)
Посещает узел IfTree.
R visitImport(ImportTree node, P p)
Посещает узел ImportTree.
R visitInstanceOf(InstanceOfTree node, P p)
Посещает узел InstanceOfTree.
R visitIntersectionType(IntersectionTypeTree node, P p)
Посещает узел IntersectionTypeTree.
R visitLabeledStatement(LabeledStatementTree node, P p)
Посещает узел LabeledStatementTree.
R visitLambdaExpression(LambdaExpressionTree node, P p)
Посещает узел LambdaExpressionTree.
R visitLiteral(LiteralTree node, P p)
Посещает узел LiteralTree.
R visitMemberReference(MemberReferenceTree node, P p)
Посещает узел MemberReferenceTree.
R visitMemberSelect(MemberSelectTree node, P p)
Посещает узел MemberSelectTree.
R visitMethod(MethodTree node, P p)
Посещает узел MethodTree.
R visitMethodInvocation(MethodInvocationTree node, P p)
Посещает узел MethodInvocationTree.
R visitModifiers(ModifiersTree node, P p)
Посещает узел ModifiersTree.
R visitModule(ModuleTree node, P p)
Посещает узел ModuleTree.
R visitNewArray(NewArrayTree node, P p)
Посещает узел NewArrayTree.
R visitNewClass(NewClassTree node, P p)
Посещает узел NewClassTree.
R visitOpens(OpensTree node, P p)
Посещает узел OpensTree.
R visitOther(Tree node, P p)
Посещает узел Tree неизвестного типа.
R visitPackage(PackageTree node, P p)
Посещает узел PackageTree.
R visitParameterizedType(ParameterizedTypeTree node, P p)
Посещает узел ParameterizedTypeTree.
R visitParenthesized(ParenthesizedTree node, P p)
Посещает узел ParenthesizedTree.
R visitPatternCaseLabel(PatternCaseLabelTree node, P p)
Посещает узел PatternCaseLabelTree.
R visitPrimitiveType(PrimitiveTypeTree node, P p)
Посещает узел PrimitiveTypeTree.
R visitProvides(ProvidesTree node, P p)
Посещает узел ProvidesTree.
R visitRequires(RequiresTree node, P p)
Посещает узел RequiresTree.
R visitReturn(ReturnTree node, P p)
Посещает узел ReturnTree.
R visitSwitch(SwitchTree node, P p)
Посещает узел SwitchTree.
R visitSwitchExpression(SwitchExpressionTree node, P p)
Посещает узел SwitchExpressionTree.
R visitSynchronized(SynchronizedTree node, P p)
Посещает узел SynchronizedTree.
R visitThrow(ThrowTree node, P p)
Посещает узел ThrowTree.
R visitTry(TryTree node, P p)
Посещает узел TryTree.
R visitTypeCast(TypeCastTree node, P p)
Посещает узел TypeCastTree.
R visitTypeParameter(TypeParameterTree node, P p)
Посещает узел TypeParameterTree.
R visitUnary(UnaryTree node, P p)
Посещает узел UnaryTree.
R visitUnionType(UnionTypeTree node, P p)
Посещает узел UnionTypeTree.
R visitUses(UsesTree node, P p)
Посещает узел UsesTree.
R visitVariable(VariableTree node, P p)
Посещает узел VariableTree.
R visitVarType(VarTypeTree node, P p)
Посещает узел VarTypeTree.
R visitWhileLoop(WhileLoopTree node, P p)
Посещает узел WhileLoopTree.
R visitWildcard(WildcardTree node, P p)
Посещает узел WildcardTypeTree.
R visitYield(YieldTree node, P p)
Посещает узел YieldTree.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создаёт и возвращает копию этого объекта.
boolean equals(Object obj)
Показывает, равен ли этот объект другому объекту.
protected void finalize()
Устарело, будет удалено: этот элемент API может быть удалён в одной из будущих версий.
Финализация устарела и будет удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени.

Подробное описание конструкторов

TreePathScanner

public TreePathScanner()
Создаёт TreePathScanner.

Подробное описание методов

scan

public R scan(TreePath path, P p)
Сканирует дерево, начиная с позиции, определяемой объектом TreePath.
Параметры:
path — путь, определяющий сканируемый узел
p — значение параметра, передаваемое методам visit
Возвращает:
значение, возвращённое методом visit

scan

public R scan(Tree tree, P p)
Сканирует один узел. Текущий путь обновляется на время сканирования.
Переопределяет:
scan в классе TreeScanner<R,P>
Примечание API:
Обычно этот метод должен вызываться только методами visit сканера в рамках выполняющегося сканирования, начатого методом scan(TreePath, P). Единственное исключение — вызов для запуска полного сканирования объекта CompilationUnitTree.
Параметры:
tree — сканируемый узел
p — значение параметра, передаваемое методу visit
Возвращает:
значение, возвращённое методом visit

getCurrentPath

public TreePath getCurrentPath()
Возвращает текущий путь к узлу, сформированный набором активных вызовов scan.
Возвращает:
текущий путь

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе документации Java SE, содержащем более подробные описания для разработчиков, включая концептуальные обзоры, определения терминов, обходные решения и работающие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2026, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API