我正在使用 Pluggable Annotation Processing API 处理 java 注释。是否也可以处理方法体内使用的注释?
感谢帮助。彼得
我正在使用 Pluggable Annotation Processing API 处理 java 注释。是否也可以处理方法体内使用的注释?
感谢帮助。彼得
我想,我找到了解决方案。正如我所想,当前的 javac 是不可能的。本地注解只是简单的注释,不会被可插入注解处理 api 处理。但是在JSR308中有一些有趣的努力,处理支持奇妙事物的类型注释作为类型变量、局部变量、带注释的类型检查和强制转换的参数......而且看起来,它将被合并到 openJDK 8 中。
在 JSR269 中,相关接口是javax.lang.model.element.VariableElement
,它继承getAnnotation(Class<A> annotationType)
用于访问此类注释:
for (VariableElement variable : ElementFilter.fieldsIn(methods)) {
final AnnotationType annotation = variable.getAnnotation(AnnotationType.class);
if (annotation != null) {
// ...
}
}