きりかノート 3冊め

おあそびプログラミング

RubyCocoa 昨日のコミット(2008.02.07)

sf.net のトラッカーに バグレポート [bug:#1883245] が上がっていたのに対応。

引数の型に "out" などの修飾子がついているとき、うまく扱えない問題があった。

 - (NSString*)foo:(id)param error:(out NSError**)error;

修飾子については、ADC の Type Encodings あたりを参照のこと。

  • 上記の問題の修正とテストの追加 (r2183, r2184)
  • r2183 で追加した関数 encoding_skip_notype() と既存の関数 encoding_skip_modifiers() がまぎらわしいので名称を変えた(r2186)

もともと const 修飾子には対応していたので、その対象を修飾子 in, out, inout, bycopy, oneway に拡張することで修正完了。byref は Objective-C ランタイムの扱いがほかの修飾子とちがうっぽいので、対応は保留に。

r2183 をコミットしたあとにトラッカーにパッチが添付されてるのに気づいてヘコんだものの、内容は(意味的に)似たようなものだったので、方針はまちがってなかったと安心することにする。

関係ないけど、r2181 あたりから tc_active_record.rb のテストが通らないものが増えてる。Rails のバージョンかなあ。あとで調べる。(2008.02.10 追記:結局わからんかんったのでMLに投げた [rubycocoa-devel:1310])