メソッド本体内の注釈の処理
-
26-10-2019 - |
質問
プラグ可能な注釈処理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) {
// ...
}
}
所属していません StackOverflow