我正在嘗試編寫一個自定義的處理器。 註解處理器將在編譯時處理每個類文件以檢查註釋, 但是,我如何才能獲取它當前正在處理的類? 我只能在下面的代碼中獲得類名。註釋處理器 - 如何獲得它正在處理的類
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);
}
}
}
謝謝你的幫助:D – user1004413
你說「...有更多關於正在編譯的類的信息,而不僅僅是它的名字」,但是你怎麼得到類名呢? – Matthias
類名稱將位於Element.getSimpleName()中http://docs.oracle.com/javase/7/docs/api/javax/lang/model/element/Element.html#getSimpleName%28%29 –