Gauche > Archives > 2020/11/23

2020/11/23 01:22:15 UTCshiro
#
クラス再定義は親側にも子側にもつながってるクラス全部に波及するんですが、合流がある場合をちゃんとハンドルしてないっぽい
2020/11/23 19:23:32 UTCshiro
#
あーわかった。親クラスが再定義された場合、子クラスも再定義されるわけだけど、その子クラスが別の親を持ってた場合、そっちの親のdirect-subclassesに「再定義前の子クラス」への参照が残っちゃうんだ
2020/11/23 21:47:52 UTCshiro
#
ふーむ。update-direct-subclass!の中で%add-direct-subclass!してるのは、旧クラス群のsuperclass-subclass関係を保持しておきたかったからなんですが、考えてみたらdirect-subclassってクラス再定義の時にしか使わないから一旦再定義が済んだらもう残しておかなくてもいいって気がしてきた。
#
クラスのイントロスペクションをやって何やらトリッキーなことをするメソッドが旧クラスに対して走ったら想定外の動作はしそうだけど、例外的なケースだろうし。