On 29.06.23 20:39, Christopher Smith wrote:
Implementing javax.annotation.processing would cover a lot of surface
area because it exposes the Java AST (via the RoundEnvironment methods)
and the entire TypeMirror "Spock in a goatee" representation of the Java
classes under processing. This means that the Groovy AST would need
*two* facades, and irritatingly the javac implementations are all
unexported (which has been causing me problems in my Java annotation
processors when using reflective property access).

It would be quite a bit of work, and since we have a mutable AST with no
tracking for modifications we would have to create that AST for
annotation processors every round new. I guess I would go with a kind of
"generate it when requested approach". Ideally a full AST is not required...

Because of the Java module system I am actually expecting a lot of
annotations to not be processed at runtime, but at compile time. Since
this is a slow moving target it is not urgent though

bye Jochen

Reply via email to