Classbox/J

Classbox/J Controlling the Scope of Change in Javaを読んで、かなり正確にClassboxの仕様が理解できたと思う。実装の概略も書いてあった。(但しnaiveな実装で遅い)
最初からこれを読めばよかった。

  1. 実行中にclassbox環境が変わることはあり得る
  2. インスタンスは、全classboxで定義されたフィールドの追加、再定義を持つ

となっているようだ。

classbox環境が変わる場合というのは、メソッド探索の中で探索対象がsuper classに移動して、super classが現環境のclassboxで定義もimportもされていないときに発生する。これ以外に発生するケースは、思い付かなかった。

しかし、これで疑問が全て解決できたわけではない。前回までに書き込んだ疑問点はまだ残っている。これらについては、次回検討していくことにする。