Полезно ли пересечение во время компиляции для Java? - PullRequest
1 голос
/ 09 февраля 2011

Стандарт Java позволяет манипулировать AST во время компиляции.Однако нет никакого стандарта в отношении API, и каждый компилятор реализует его по-своему (даже между версиями).На работе у нас было какое-то хакерское смешение времени компиляции и времени загрузки.Теперь мы превращаемся в процесс разработки, ориентированный на затмения, и этот хак доставляет нам некоторые неприятности.

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

Мой вопрос: полезно ли пересечение во время компиляции для Java?Есть ли вариант использования, в котором вы не можете сделать это, используя пересечение во время загрузки?

1 Ответ

0 голосов
/ 09 февраля 2011

Звучит не умно, чтобы зафиксировать непубличный API. Что происходит, когда он изменяется, потому что публикация API не является общедоступной?

Добавьте шаг посткомпиляции и используйте ASM.

...