我想编写一个注释处理器,它根据处理类型的JavaBeans属性集生成源代码.
这一般起作用,但如果其他注释处理器存在,我正在努力正确地这样做.具体来说,这样的其他处理器可以为我的处理器处理的类型生成超类,因此我也需要考虑该超类型的属性.在随后的回合中,可以生成该超类的超类,等等.
这意味着我不能生成我的源代码,直到我感兴趣的类型的层次结构稳定,即在其他处理器的后续轮次(或在我的处理器运行之后的同一轮)中不会生成更多的超类型.
我怎么知道是不是这样呢?我知道RoundEnvironment#processingOver()
并且可能在最后一轮中生成我的代码,但我理解这是一个不好的做法(编译器会发出警告).