トップ «前の日記(2004-09-12) 最新 次の日記(2004-09-14)» 編集

日々の破片

Subscribe with livedoor Reader
著作一覧

2004-09-13

_ 無限再帰

割と好きなバグなのだ。合わせ鏡みたいなもので、深淵が見えるからかも。

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。


2003|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|

ジェズイットを見習え