Pluggable AnnotationProcessingAPIを使用してJavaアノテーションを処理しています。メソッド本体内で使用されるアノテーションも処理することはどういうわけか可能ですか?
手伝ってくれてありがとう。ピーター
Pluggable AnnotationProcessingAPIを使用して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) {
// ...
}
}