きりかノート 3冊め

おあそびプログラミング

RubyCocoa 今日のコミット (2007.02.28)

むやみに早起きしたのでデバッグ[rubycocoa-devel:780]

  • Cocoaオリジナルのクラスについて、自動オーバライド機能が働いてしまう問題を修正

以前は RubyCocoa での Ruby 側のクラス階層は

OSX::ObjcID
+ OSX::NSObject
+ OSX::NSArray
+ OSX::NSMutableArray
+ OSX::NSProxy
:

とフラットになっていたのだけれど、0.5.0 以降は

OSX::ObjcID
+ OSX::NSObject
+ OSX::NSArray
+ OSX::NSMutableArray
+ OSX::NSProxy
:

と、Cocoa の世界の継承階層が Ruby でもそのまま反映されている。この変更に際して、自動オーバライド機能が適用可能なクラスかどうかの判定がうまくいかなくなっていた。

この修正にともなって、テストケースが1つ、Fになってしまった。けれども、このテストケースが誤り、というのが今回の判断。