我正在编写一个注释处理器,该处理器仅将PostConstruct
注释用于方法。假设我有一个这样的课:
public MyClass{
@PostConstruct
public void onCreate(){
}
}
因此,在我的注释处理器中,我可以获取
onCreate
方法: for (Element element : roundEnv.getElementsAnnotatedWith(PostConstruct.class)) {
if (element.getKind() != ElementKind.METHOD) {
return false;
}
ExecutableElement method = (ExecutableElement) element;
}
而且我还需要了解
onCreate
方法(MyClass
)的类名,但是ExecutableElement
没有提供任何方法来做到这一点。还有其他实用程序类可以给我类名吗? 最佳答案
声明方法的类是方法的封闭元素:
TypeElement declaringClass =
(TypeElement) method.getEnclosingElement();
String className =
// also getSimpleName()
declaringClass.getQualifiedName().toString();