(goops.info.gz) Class Redefinition
Info Catalog
(goops.info.gz) Instance Creation
(goops.info.gz) MOP Specification
(goops.info.gz) Method Definition
Class Redefinition
==================
The default `class-redefinition' method, specialized for classes with
the default metaclass `<class>', has the following internal protocol.
`class-redefinition (OLD <CLASS>) (NEW <CLASS>)' (method)
* `remove-class-accessors! OLD' (generic)
* `update-direct-method! METHOD OLD NEW' (generic)
* `update-direct-subclass! SUBCLASS OLD NEW' (generic)
The default `update-direct-subclass!' method invokes
`class-redefinition' recursively to handle the redefinition of
subclasses.
When a class is redefined, any existing instance of the redefined class
will be modified for the new class definition before the next time that
any of the instance's slot is referenced or set. GOOPS modifies each
instance by calling the generic function `change-class'.
The default `change-class' method copies slot values from the old to
the modified instance, and initializes new slots, as described in
Changing the Class of an Instance. After doing so, it makes a
generic function invocation that can be used to customize the instance
update algorithm.
`change-class (OLD-INSTANCE <OBJECT>) (NEW <CLASS>)' (method)
* `update-instance-for-different-class OLD-INSTANCE NEW-INSTANCE'
(generic)
`change-class' invokes `update-instance-for-different-class' as
the last thing that it does before returning. The applied method
can make any further adjustments to NEW-INSTANCE that are required
to complete or modify the change of class. The return value from
the applied method is ignored.
The default `update-instance-for-different-class' method does
nothing.
Info Catalog
(goops.info.gz) Instance Creation
(goops.info.gz) MOP Specification
(goops.info.gz) Method Definition
automatically generated byinfo2html