現状報告:ソースコードの置換

/**
 * @when
 *     m.parameters.type = ( {@link String} )
 *     private in m.modifiers
 *     a in m.annotations
 *     a.spec = {@link Deprecated}
 */
public void suggested(LiteralFactory literals, CtMethod<?> m, CtAnnotationInstance<?> a) {
  a.substitute(null);
}

クエリ:

  1. mはメソッド
  2. mの引数一覧をt1とおく
    1. t1の型一覧をt2とおく
      1. t2は(java.lang.String) : mの引数は(String)型
  3. mの修飾子一覧をt3とおく
    1. 修飾子publicはt3に含まれる : mはpublic
  4. mの注釈一覧をt4とおく
    1. aはt4に含まれる
  5. aはアノテーション
  6. aの宣言はjava.lang.Deprecated : mは注釈Deprecatedを有する

実行部:

  1. aをnullで置き換える : mに付与されたDeprecated注釈を除去