9

Pluggable AnnotationProcessingAPIを使用してJavaアノテーションを処理しています。メソッド本体で使用されるアノテーションも処理することはどういうわけか可能ですか?

手伝ってくれてありがとう。ピーター

4

2 に答える 2

4

私は解決策を見つけたと思います。さすがに今のjavacでは無理です。ローカル注釈は単純なコメントであり、プラグ可能な注釈処理 API によって処理されません。しかし、 JSR308には興味深い取り組みがあり、型変数、ローカル変数、注釈付き型チェック、およびキャストのパラメーターとして素晴らしいものをサポートする型注釈を処理しています...そして、見た目どおり、openJDK 8に組み込まれます。

于 2011-10-19T08:09:31.060 に答える
1

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) {
        // ...
    }
}
于 2011-10-18T17:17:48.627 に答える