我很好奇Lombok是如何与 Eclipse(或任何其他 IDE)一起工作的。我发现,从 0.10 版开始,他们放弃AbstractProcessor
并ECJ
完全使用 javaagent 和字节码修改。
如果我使用一些没有语法检查的编辑器 + javac
with-javaagent
但对于 Eclipse 来说,这很有效,因为如果我添加-javaagent
到构建配置中,它在使用 internal 的增量构建期间是没有用的ECJ
。因此,例如,如果您使用一些代码中不存在的方法(但会在字节码检测之后),它只会引发错误。
我的问题是:这是如何处理代码中不存在的方法在其中可见而没有任何错误?
更新:
由于chrylis有关从 .class 文件中获取的方法的信息,我的问题可以缩短为以下我认为:
如何使用 -javaagent + objectweb.asm/javaassist/etc。在 Eclipse 中自动构建生成的方法/字段/等。将通过代码完成、方法大纲等可用。