著作一覧 |
割と好きなバグなのだ。合わせ鏡みたいなもので、深淵が見えるからかも。
java.lang.Booleanをimportすると、Boolean.TRUEとBoolean.FALSEの2つの定数が引っ張って来れる。rjb-0.0.9から定数も保持しておくように変えたせいで、
・java.lang.Booleanをimport
・java.lang.Booleanのメタデータの読み込み
・定数発見
・定数の型がjava.lang.Booleanと認識→まだimportしていない型と判定
・最初に戻る
となって、死んでいた。
とりあえず、0.1.1では、定数のロードの直前にimport済みとマークするように変更したけど、考えてみたら戻り型がimport中のクラスと同じメソッドではなんで起きないんだ? 定数の場合、rb_define_constまで実行するからか……
#0.1.1はMacのメソッド並び順がLinuxやWin32と異なるのでテストが通らないorz。
ジェズイットを見習え |