动态添加类型到 Annotation 处理环境

问题描述

在我的注释处理器中,我希望能够在给定的轮次(比如第 n 轮)中内省类型,直到第 n+1 轮才会生成。理想的解决方案(我认为)是能够为添加到下一轮中的类创建 TypeElements 和 TypeMirrors,并将它们添加到 ProcessingEnvironment。

不幸的是,ProcessingEnvironment、Elements 和 Types 接口不包含任何添加/删除类型的方法。因此,我正在为 Element、TypeElement、PackageElement、Types、Elements 等创建我自己的“包装器”类。这将允许我在那里嫁接我自己的类型。这会起作用,但它需要很多的工作,所以我怀疑可能有更简单的方法

是否有任何库已经在 ProcessingEnvironment、Types、Elements、TypeElement 等之上提供了可变抽象?也许类似于 ByteBuddy,但它不是动态地向运行时环境添加类,而是将类作为 TypeElements 和 TypeMirrors 动态添加到 ProcessingEnvironment。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)