Spec-Zone.ru › OpenJDK 24

Класс ElementScanner6<R,P>

java.lang.Object
javax.lang.model.util.AbstractElementVisitor6<R,P>
javax.lang.model.util.ElementScanner6<R,P>
Тип параметров:
R - тип возвращаемого значения методов этого посетителя. Используйте Void для посетителей, которым не нужно возвращать результаты.
P - тип дополнительного параметра методов этого посетителя. Используйте Void для посетителей, которым не нужен дополнительный параметр.
Все реализованные интерфейсы:
ElementVisitor<R,P>
Прямые известные подклассы:
ElementScanner7
@SupportedSourceVersion(RELEASE_6) public class ElementScanner6<R,P> extends AbstractElementVisitor6<R,P>
Посетитель для сканирования элементов программы с поведением по умолчанию, соответствующим RELEASE_6 версии исходного кода. Методы visitXyz в этом классе сканируют свои составные элементы, вызывая scan для своих вложенных элементов, параметров и т. д., как указано в спецификациях отдельных методов. Подкласс может контролировать порядок посещения элементов, переопределяя методы visitXyz. Обратите внимание, что клиенты сканера могут получить желаемое поведение, вызвав v.scan(e, p) вместо v.visit(e, p) для корневых объектов, которые их интересуют.

При переопределении подклассом метода visitXyz, новый метод может заставить вложенные элементы быть отсканированными стандартным способом, вызвав super.visitXyz. Таким образом, конкретный посетитель может контролировать порядок обхода составных элементов относительно дополнительной обработки; например, последовательное вызов super.visitXyz в начале переопределённых методов даст обход в прямом порядке, и т.д. Если составные элементы необходимо обойти в другом порядке, вместо вызова super.visitXyz, переопределённый метод посещения должен вызвать scan с элементами в желаемом порядке.

Примечание API:
Методы этого класса могут быть переопределены в соответствии с их общим соглашением.

ВНИМАНИЕ: Интерфейс ElementVisitor, реализованный этим классом, может получить новые методы в будущем для поддержки новых, неизвестных на данный момент, структур языка, добавленных в будущие версии языка программирования Java. Поэтому в этот класс могут быть добавлены методы, имена которых начинаются с "visit". Для избежания несовместимости классы, расширяющие этот класс, не должны объявлять какие-либо методы экземпляра с именами, начинающимися с "visit".

Когда такой новый метод посещения добавляется, реализация по умолчанию в этом классе будет непосредственно или косвенно вызывать метод visitUnknown. Новый класс посетителя сканера элементов также будет представлен для соответствия новому уровню языка; у этого посетителя будет другое поведение по умолчанию для метода посещения. Когда вводится новый посетитель, части этого класса посетителя могут быть устаревшими, включая его конструкторы.

С:
1.6
См. также:
  • ElementScanner7
  • ElementScanner8
  • ElementScanner9
  • ElementScanner14

Краткое описание полей

Модификатор и тип Поле Описание
protected final R DEFAULT_VALUE
Указанное значение по умолчанию.

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

ElementScanner6()
ElementScanner6(R defaultValue)
Модификатор Конструктор Описание
protected
Устаревший.
Версия 6 устарела; обновите до посетителя для более нового уровня версии.
protected
Устаревший.
Версия 6 устарела; обновите до посетителя для более нового уровня версии.

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

Модификатор и тип Метод Описание
final R scan(Iterable<? extends Element> iterable, P p)
Перебирает заданные элементы и вызывает scan(Element, P) для каждого из них.
final R scan(Element e)
Удобный метод, эквивалентный v.scan(e, null).
R scan(Element e, P p)
Обрабатывает элемент, вызывая e.accept(this, p); этот метод может быть переопределен подклассами.
R visitExecutable(ExecutableElement e, P p)
Посещает элемент исполняемого кода.
R visitPackage(PackageElement e, P p)
Посещает элемент пакета.
R visitRecordComponent(RecordComponentElement e, P p)
Посещает элемент компонента записи.
R visitType(TypeElement e, P p)
Посещает элемент типа.
R visitTypeParameter(TypeParameterElement e, P p)
Посещает элемент параметра типа.
R visitVariable(VariableElement e, P p)
Посещает элемент переменной.

Методы, объявленные в классе javax.lang.model.util.AbstractElementVisitor6

visit, visit, visitModule, visitUnknown

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

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

Подробное описание полей

DEFAULT_VALUE

protected final R DEFAULT_VALUE
Указанное значение по умолчанию.

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

ElementScanner6

@Deprecated(since="9") protected ElementScanner6()
Устаревшее.
Версия 6 устарела; обновите на посетителя для более новой версии.
Конструктор для конкретных подклассов; использует null для значения по умолчанию.

ElementScanner6

@Deprecated(since="9") protected ElementScanner6(R defaultValue)
Устаревшее.
Версия 6 устарела; обновите на посетителя для более новой версии.
Конструктор для конкретных подклассов; использует аргумент в качестве значения по умолчанию.
Параметры:
defaultValue - значение по умолчанию

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

scan

public final R scan(Iterable<? extends Element> iterable, P p)
Перебирает заданные элементы и вызывает scan(Element, P) для каждого из них. Возвращает результат последнего вызова scan или DEFAULT_VALUE для пустого итерируемого объекта.
Параметры:
iterable - элементы для сканирования
p - дополнительный параметр
Возвращает:
сканирование последнего элемента или DEFAULT_VALUE, если элементов нет

scan

public R scan(Element e, P p)
Обрабатывает элемент, вызывая e.accept(this, p); этот метод может быть переопределён подклассами.
Параметры:
e - элемент для сканирования
p - параметр, указанный сканером
Возвращает:
результат посещения e.

scan

public final R scan(Element e)
Метод-удобство, эквивалентный v.scan(e, null).
Параметры:
e - элемент для сканирования
Возвращает:
результат сканирования e.

visitPackage

public R visitPackage(PackageElement e, P p)
Посещает элемент пакета.
Требования к реализации:
Эта реализация сканирует вложенные элементы.
Параметры:
e - элемент для посещения
p - параметр, указанный посетителем
Возвращает:
результат сканирования

visitType

public R visitType(TypeElement e, P p)
Посещает элемент типа.
Требования к реализации:
Эта реализация сканирует вложенные элементы. Обратите внимание, что параметры типа не сканируются этой реализацией, так как параметры типа не считаются вложенными элементами типа.
Параметры:
e - элемент для посещения
p - параметр, указанный посетителем
Возвращает:
результат сканирования

visitVariable

public R visitVariable(VariableElement e, P p)
Посещает элемент переменной.
Требования к реализации:
Эта реализация сканирует вложенные элементы, если элемент не является RESOURCE_VARIABLE, в этом случае вызывается visitUnknown.
Параметры:
e - элемент для посещения
p - параметр, указанный посетителем
Возвращает:
результат сканирования

visitExecutable

public R visitExecutable(ExecutableElement e, P p)
Посещает исполняемый элемент.
Требования к реализации:
Эта реализация сканирует параметры. Обратите внимание, что параметры типа не сканируются этой реализацией.
Параметры:
e - элемент для посещения
p - параметр, указанный посетителем
Возвращает:
результат сканирования

visitTypeParameter

public R visitTypeParameter(TypeParameterElement e, P p)
Посещает элемент параметра типа.
Требования к реализации:
Эта реализация сканирует вложенные элементы.
Параметры:
e - элемент для посещения
p - параметр, указанный посетителем
Возвращает:
результат сканирования

visitRecordComponent

public R visitRecordComponent(RecordComponentElement e, P p)
Посещает элемент компоненты записи.
Задано:
visitRecordComponent в интерфейсе ElementVisitor<R,P>
Переопределяет:
visitRecordComponent в классе AbstractElementVisitor6<R,P>
Требования к реализации:
Эта реализация вызывает visitUnknown(e, p).
Параметры:
e - элемент для посещения
p - параметр, указанный посетителем
Возвращает:
результат сканирования
С момента:
14

© 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.
https://download.java.net/java/early_access/jdk24/docs/api/java.compiler/javax/lang/model/util/ElementScanner6.html

Spec-Zone.ru

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