DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

(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