Annotation Processor添加方法调用

问题描述 投票:2回答:1

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

java compiler-construction annotations
1个回答
0
投票

在注释处理器运行时,正在检查的类仅以源表单形式存在。因此,您无法在其上调用方法。

此外,Annotation Processors无法直接修改正在编译的类。相反,您应该创建一个新类:

Filer filer = env.getFiler();
PrintWriter pw = filer.createSourceFile("com.example.MyClass");
© www.soinside.com 2019 - 2024. All rights reserved.