Нам нужно генерировать исходный код Java. Мы делаем это, моделируя абстрактное синтаксическое дерево и используем дерево, которое генерирует текст исходного кода. Это все хорошо.
Поскольку мой код AST немного стар, он не поддерживает аннотации и дженерики. Поэтому я просматриваю открытые проекты, которые нужно использовать для будущих проектов с потребностями генерации кода. И здесь возникает реальная проблема. Мы хотим проверить, что генерируемый код имеет правильное поведение.
Вот где я получил идею фактически оценить AST вместо генерации исходного кода java, скомпилировать его и запустить тесты против этого кода. Оценщик ускорил бы единичные тесты, и можно было бы оценивать меньшие фрагменты сгенерированного кода, например, только метод, делающий "единицы" более разумными.
До сих пор я нашел проект com.sun.codemodel, который кажется довольно приятным, поскольку он является современным (поддержка функций java5 и 6). Основанное на АСТ решение для создания кода.
Кто-нибудь знает, есть ли другой проект, который позволил бы мне непосредственно оценить части АСТ (например, один сгенерированный метод)?