Annotation Processor添加方法调用

时间:2011-11-25 13:09:59

标签: java compiler-construction annotations

我正在编写注释处理器,我需要TreeTranslator.visitIdent来进行静态方法调用。 我想我应该使用TreeMaker.CallTreeMaker.Create,还是应该使用JCMethodInvocation?我找不到任何如何使用它的例子。 有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

在您的注释处理器运行时,正在检查的类仅以源代码形式存在。因此,你不能在它上面调用方法。

此外,注释处理器不能直接修改正在编译的类。相反,您应该创建一个新类:

Filer filer = env.getFiler();
PrintWriter pw = filer.createSourceFile("com.example.MyClass");