% 4.3.6.1. インスタンスの構造の修正
4.3.6.1. インスタンスの構造の修正
最初のステップは、 クラスの再定義が行われたインスタンスの構造を その新しいクラスの定義に合わせることです。
新しいクラスの定義によって定義されたローカルスロットは、
古いクラスではローカルとしても共有としても指定されていない場合は追加されます。
さらに新しいクラス定義ではローカルとしても共有としても指定されていないスロットが、
古いクラスではローカルとして定義されていたものは削除されます。
それらの追加されたスロットと削除されたスロットの名前は、
次の章で説明されるupdate-instance-for-redefined-class
の
引数に渡されます。
新しいクラスと古いクラスの両方で
ローカルスロットとして指定されたものの値は保持されます。
もしそのようなローカルスロットがunbound
のときは、
それはunbound
のままです。
古いクラスでは共有として指定されたスロットの値は、
新しいクラスでローカルスロットのときは保持されます。
もしそのような共有スロットがunbound
のときは、
ローカルスロットもunbound
です。