我正在编写注释处理器,我需要TreeTranslator.visitIdent
来进行静态方法调用。
我想我应该使用TreeMaker.Call
或TreeMaker.Create
,还是应该使用JCMethodInvocation?我找不到任何如何使用它的例子。
有人可以帮我吗?
答案 0 :(得分:0)
在您的注释处理器运行时,正在检查的类仅以源代码形式存在。因此,你不能在它上面调用方法。
此外,注释处理器不能直接修改正在编译的类。相反,您应该创建一个新类:
Filer filer = env.getFiler();
PrintWriter pw = filer.createSourceFile("com.example.MyClass");