鉴于以下类型:
@Retention(RUNTIME)
@Target(ANNOTATION_TYPE)
public @interface Annotation1 {
}
@Retention(RUNTIME)
@Target(TYPE)
@Annotation1
public @interface Annotation2 {
}
@Annotation2
public class Mock {
}
我可以使用AbstractProcessor从Annotation2
课程访问Mock
,如下所示:
Element element = //obtained from RoundEnvironment instance.
AnnotationMirror annotationMirror = element.getAnnotationMirrors().get(0);
但是当我查询在pevious annotationMirror中注释的注释时,它是Annotation2
的镜像,我得到一个空列表。
annotationMirror
.getAnnotationType()
.asElement()
.getAnnotationMirrors();
我认为这个问题与此one有关。
答案 0 :(得分:1)
问题中发布的代码运行正常。
annotationMirror
.getAnnotationType()
.asElement()
.getAnnotationMirrors();
问题与用于测试目的的源代码中缺少导入有关。