特定のアノテーションを持つメソッドを持つクラスを指定して、アノテーションを付加したい、って話。
WhiteDogでもこれができると@WhiteDogClassがいらなくなってちょっと楽。
結論としては、今は出来ないけど、最新版ではundocumentedなhasmethod、hasfieldってポイントカットが用意してあるらしい。
使い方は、コマンドラインオプションに-XhasMemberを指定した上で、以下のように記述:
-- 引用 --
public aspect LiftImmutability {
declare @type:
hasmethod(@Immutable * *(..)):
@Container;
}
----
まだITDを考慮してなくて正式サポートじゃないけど、これ使えるとちょっと記述の幅が広がるなぁ。
いい感じ。
0 件のコメント:
コメントを投稿