きりかノート 3冊め

おあそびプログラミング

RubyCocoa 今日のコミット 2013-09-06

またずいぶん空いちまったね。

  • testの--test-args=をTESTS=でも代替できるように。 (r2416)
  • オブジェクト変換表のbsBoxedにエンコーディング "^v" が入ってたときの対処。 (r2417)

前者はずいぶん前に追加したんだけど、名前がすぐに思い出せなくなるのでruby本体の`make test-all`と同じようにTESTS=でも使えるようにした。これなら(自分は)忘れないだろう。たぶん。

例)

   % ruby install.rb test TESTS=-v
   % ruby install.rb test TESTS="-t TC_NSData"

後者は10.7 Lionのときと似たケースで、RubyCocoaが非NSObjectな値をRuby <=> Objective-Cで変換する際に参照している表(実装はst_table)に型エンコーディング"^v"が入っていることがある場合に無視するようにしました。
以前はBridgeSupportのXMLファイルから読み込みした場合のbsCFTypesってテーブルだったけど、今回はbsBoxedのほうにも入ってた場合の対処を追加した。前の変更はテーブル登録時に登録しない、って修正だったけどこっちのコードはややこしいのでテーブル参照時の出口側で対応するようにした。

コード読まないと思い出せないから、めんどくさいとこの代表であるオブジェクト変換とメソッド呼び出しに関してくらいは文書を書いときたいなあ。