Класс JavacTask
java.lang.Object
com.sun.source.util.JavacTask
- Все реализуемые интерфейсы:
Callable<Boolean>, JavaCompiler.CompilationTask
public abstract class JavacTask extends Object implements JavaCompiler.CompilationTask
Предоставляет доступ к функциональности, специфичной для компилятора Java JDK — javac.
- Начиная с:
- 1.6
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Конструктор для вызова подклассами. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
abstract void |
addTaskListener |
Добавляет указанного слушателя, чтобы он получал уведомления о событиях, описывающих ход выполнения этой задачи компиляции. |
abstract Iterable |
analyze() |
Завершает весь анализ. |
abstract Iterable |
generate() |
Генерирует код. |
abstract Elements |
getElements() |
Возвращает служебный объект для работы с элементами программы. |
abstract TypeMirror |
getTypeMirror |
Возвращает зеркало типа узла дерева, определяемого указанным путем. |
abstract Types |
getTypes() |
Возвращает служебный объект для работы с зеркалами типов. |
static JavacTask |
instance |
Возвращает JavacTask для ProcessingEnvironment. |
abstract Iterable |
parse() |
Разбирает указанные файлы и возвращает список абстрактных синтаксических деревьев. |
abstract void |
removeTaskListener |
Удаляет указанного слушателя, чтобы он больше не получал уведомления о событиях, описывающих ход выполнения этой задачи компиляции. |
void |
setParameterNameProvider |
Задает указанный ParameterNameProvider. |
abstract void |
setTaskListener |
Задает указанного слушателя для получения уведомлений о событиях, описывающих ход выполнения этой задачи компиляции. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
boolean |
equals |
Указывает, равен ли какой-либо другой объект этому объекту. |
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 |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения определенного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения определенного промежутка реального времени. |
Методы, объявленные в интерфейсе JavaCompiler.CompilationTask
addModules, call, setLocale, setProcessors | Модификатор и тип | Метод | Описание |
|---|---|---|
void |
addModules |
Добавляет корневые модули, которые следует учитывать при разрешении модулей. |
Boolean |
call() |
Выполняет эту задачу компиляции. |
void |
setLocale |
Задает локаль, используемую при форматировании диагностических сообщений и других локализованных данных. |
void |
setProcessors |
Задает обработчики (для обработки аннотаций). |
Подробное описание конструкторов
JavacTask
protected JavacTask()
Конструктор для вызова подклассами.
Подробное описание методов
instance
public static JavacTask instance(ProcessingEnvironment processingEnvironment)
Возвращает
JavacTask для ProcessingEnvironment. Если компилятор вызывается с помощью CompilationTask, возвращается эта задача.- Параметры:
-
processingEnvironment— среда обработки - Возвращает:
JavacTaskдляProcessingEnvironment- Начиная с:
- 1.8
parse
public abstract Iterable<? extends CompilationUnitTree> parse() throws IOException
Разбирает указанные файлы и возвращает список абстрактных синтаксических деревьев.
- Возвращает:
- список абстрактных синтаксических деревьев
- Выбрасывает:
-
IOException— если в компиляторе произошла необработанная ошибка ввода-вывода. -
IllegalStateException— если в данный момент невозможно выполнить операцию.
analyze
public abstract Iterable<? extends Element> analyze() throws IOException
Завершает весь анализ.
- Возвращает:
- список проанализированных элементов
- Выбрасывает:
-
IOException— если в компиляторе произошла необработанная ошибка ввода-вывода. -
IllegalStateException— если в данный момент невозможно выполнить операцию.
generate
public abstract Iterable<? extends JavaFileObject> generate() throws IOException
Генерирует код.
- Возвращает:
- список сгенерированных файлов
- Выбрасывает:
-
IOException— если в компиляторе произошла необработанная ошибка ввода-вывода. -
IllegalStateException— если в данный момент невозможно выполнить операцию.
setTaskListener
public abstract void setTaskListener(TaskListener taskListener)
Задает указанного слушателя для получения уведомлений о событиях, описывающих ход выполнения этой задачи компиляции. Если в результате предыдущего вызова этого метода уведомления получает другой слушатель, он больше не будет получать уведомления. Говоря неформально, этот метод эквивалентен вызову
removeTaskListener для всех ранее заданных слушателей, а затем addTaskListener для нового слушателя.- Параметры:
-
taskListener— слушатель задач - Выбрасывает:
-
IllegalStateException— если указанный слушатель уже был добавлен.
addTaskListener
public abstract void addTaskListener(TaskListener taskListener)
Добавляет указанного слушателя, чтобы он получал уведомления о событиях, описывающих ход выполнения этой задачи компиляции. Этот метод можно вызывать в любое время до начала или во время компиляции.
- Параметры:
-
taskListener— слушатель задач - Выбрасывает:
-
IllegalStateException— если указанный слушатель уже был добавлен. - Начиная с:
- 1.8
removeTaskListener
public abstract void removeTaskListener(TaskListener taskListener)
Удаляет указанного слушателя, чтобы он больше не получал уведомления о событиях, описывающих ход выполнения этой задачи компиляции. Этот метод можно вызывать в любое время до начала или во время компиляции.
- Параметры:
-
taskListener— слушатель задач - Начиная с:
- 1.8
setParameterNameProvider
public void setParameterNameProvider(ParameterNameProvider provider)
Задает указанный
ParameterNameProvider. Он может использоваться при вызове VariableElement.getSimpleName() для параметра метода, для которого не найдено достоверное имя. Указанный ParameterNameProvider может вывести удобочитаемое имя параметра метода. Установка нового ParameterNameProvider сбрасывает ранее заданный ParameterNameProvider, который больше не будет запрашиваться. Если ParameterNameProvider не задан или возвращает null из ParameterNameProvider.getParameterName(javax.lang.model.element.VariableElement), из VariableElement.getSimpleName() возвращается автоматически созданное имя.- Требования к реализации:
- Реализация этого метода по умолчанию ничего не делает.
- Параметры:
-
provider— поставщик - Начиная с:
- 13
getTypeMirror
public abstract TypeMirror getTypeMirror(Iterable<? extends Tree> path)
Возвращает зеркало типа узла дерева, определяемого указанным путем. Этот метод заменен методами класса
Trees.- Параметры:
-
path— путь - Возвращает:
- зеркало типа
- См. также:
getElements
public abstract Elements getElements()
Возвращает служебный объект для работы с элементами программы.
- Возвращает:
- служебный объект для работы с элементами программы
getTypes
public abstract Types getTypes()
Возвращает служебный объект для работы с зеркалами типов.
- Возвращает:
- служебный объект для работы с зеркалами типов
© 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.