Как сцепить пользовательскую логику компилятора на основе аннотаций

Я хочу определить несколько аннотаций, которые позволят дополнительным предупреждениям/ошибкам сообщаться во время компиляции (подобный в понятии к @Nullable и @NotNull аннотации в IntelliJ).

Я хотел бы смочь записать некоторые рычаги компилятора, которые также добавят мою логику компиляции на основе тех атрибутов.

Я хочу универсальный рычаг, если это возможно, однако так как мы используем Eclipse - это также было бы преимущество, если бы у нас была та способность.

Я хотел бы знать:

  1. Действительно ли это возможно? (любая из опций выше)
  2. С чего начать?
  3. У меня был небольшой опыт с аннотациями до сих пор, поэтому если бы я иду об этом неправильным путем - я хотел бы знать, что и, если возможно заставляют лучшее направление идти с.

Спасибо.

8
задан RonK 19 June 2010 в 20:20
поделиться

1 ответ

Для этого можно использовать Java Annotation Processor (см. JSR 269: Pluggable Annotation Processing API). Из Проверка аннотаций во время компиляции с помощью Java Annotation Processor:

В JSR 269 говорится, что вы можете реализовать подключаемый модуль для компилятора который может обрабатывать аннотации. Этот подключаемый модуль может быть задан в качестве параметра во время компиляции, так что ваш код будет вызываться, когда одна из ваших аннотаций появится в исходном коде.

По указанной ссылке приведен пример, который поможет вам начать работу.

См. также:

6
ответ дан 5 December 2019 в 22:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: