我正在使用Java 6的注解处理,也就是可以在javax.annotation.processing中找到的内容(而不是Java 5的APT)。
我想知道各种Element、Type和Mirror类之间的概念差异。由于我不太理解这个,因此很难高效地编写注解处理器。有一些 '转换' 这些概念的方法,但是当我使用它们时,我并不真正了解自己在做什么。
例如,让我有一个AnnotationMirror实例。
当我调用getAnnotationType()时,我会得到一个DeclaredType实例(出于某种原因,它实现了TypeMirror)。
然后我可以在这个上面调用asElement(),并获得一个Element实例。
发生了什么?