うさぎ組

ソフトウェア開発、チームによる製品開発、アジャイル、ソフトウェアテスト

GroovyObjectSupportを読んでみた

GroovyObjectSupport (Groovy 2.2.1)

コンストラクタ内でInvokerHelper#getMetaClass をコールしてフィールドのmetaClassを初期化しています。


get/setPropertyはフィールドのmetaClassを介して呼んでいて、metaClass自体はget/setMetaClassで取得/変更が出来るけど、metaClassがnullの場合はInvokerHelper#getMetaClassで再度初期化してからreturnしています。


invokeMethodもこのmetaClassに対して
getMetaClass().invokeMethod(this, name, args); // nameはString、argsはObject[]
とコールしています。


プログラミングGROOVY

プログラミングGROOVY