Artyom
В любом случае в APT это делается только через хаки. Если бы менять AST было так легко... То понять какой код у тебя будет на выходе было бы очень сложно))
Если вам надо это один раз сделать (или делать периодически), то может рассмотреть вариант с плагином для билд системы, которую вы используете и там поменять сорцы (этап process-sources в Maven, вроде, для этого)? В Гите будет явно видно, что изменилось и никаких неожиданностей после компиляции. Но вообще звучит и правда необычно. Интерфейс как бы есть, но он как бы не нужен?)
ну не надо грязи, в нормальных языках это манипуляция AST - нормальное мета-программирование, и ничего ужас-ужас в этом нет. То, что в Джаве из мета-программирования только треш под названием reflection, да и тот - через одно место, не повод для гордости.