如何解决动态添加类型到 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 举报,一经查实,本站将立刻删除。