Transformación de código Java en tiempo de compilación

me gustaríatransformar código fuente javaen tiempo de compilación Justo antes de pasar el código fuente al compilador. En otras palabras, me gustaría crear unpreprocesador capaz de transformar

"bla bla bla" 

en cualquier otro código como:

new MyClass("bla", 3) 

Mi motivación real es hacer el cifrado de cadenas, comoexplicado aquí

Algunas personas sugieren escribir procesadores de anotaciones personalizados, pero hasta donde entiendo las anotaciones:

se pueden usar para generar un nuevo archivo de clase, pero no para transformar el código existente antes de pasarlo al compiladorparece que funcionan a nivel de paquete, clase o método, pero no del cuerpo / implementación del método.

Algunas personas sugieren usar marcos como Spoon u ObjectsWeb ASM, pero estos marcos parecen complicados de aprender e implementar en una base de código existente.

Me gusta encontrar un ejemplo sencillo de preprocesamiento de código Java para ambos enfoques.

¿Alguien ve alguna forma inteligente de hacer la transformación de código, sin cambiar completamente una base de código grande existente con múltiples módulos de hiedra? Las anotaciones parecen ser la mejor manera, pero no entiendo cómo hacerlo.