目前可以从注释处理器生成字节码。但是,根据我的实验,即使字节码包含 NestHost 属性,带注释的类也不会将生成的类添加到 NestMember 属性中。
在运行时使用隐藏类,可以将其声明为 MethodHandles.Lookup.ClassOption.NESTMATE,然后它就可以工作了。
但是有没有办法告诉编译器生成的类 Y 是 X 的嵌套成员?
(我正在开发一个注释处理器,它允许指定方法的字节码。因此它会生成一个新类并使用指定的字节码创建一个方法。但是,由于我们不能将该类声明为另一个类的 InnerClass,我我希望能够访问私有字段/方法是另一个 NestMember - https://github.com/Thihup/bytecode-annotation-processor)