13

カスタム Antoation プロセッサを作成しようとしています。アノテーション プロセッサはコンパイル時に各クラス ファイルを処理してアノテーションをチェックしますが、現在処理中のクラスを取得するにはどうすればよいでしょうか。次のコードでのみクラス名を取得できます。

public class AnnotationProcessor extends AbstractProcessor {
  ......
    @Override
     public boolean process(Set<? extends TypeElement> annotations,
        RoundEnvironment roundEnv) {

     Set<? extends Element> rootE=roundEnv.getRootElements();
       for(Element e: rootE) {
        if(e.getKind()==ElementKind.CLASS) {
            String className= e.getSimpleName().toString();
            processingEnv.getMessager().printMessage( javax.tools.Diagnostic.Kind.WARNING,className, e); 
        }
     }
}
4

3 に答える 3