If the chains are ill-formed (i.e., not distinct) then an error is
signalled."))
+(export 'guess-metaclass)
+(defgeneric guess-metaclass (class)
+ (:documentation
+ "Determine a suitable metaclass for the CLASS.
+
+ The default behaviour is to choose the most specific metaclass of any of
+ the direct superclasses of CLASS, or to signal an error if that failed."))
+
(export 'check-sod-class)
(defgeneric check-sod-class (class)
(:documentation
* The chosen metaclass is actually a subclass of all of the
superclasses' metaclasses.
- Returns true if all is well; false (and signals errors) if anything was
- wrong."))
+ If no attempt has previously been made to finalize the class, then errors
+ are signalled for the problems found. If finalizing it has been tried
+ before and failed (or this is a recursive attempt to finalize the class)
+ then nil is returned immediately. Otherwise a non-nil value is
+ returned."))
(export 'finalize-sod-class)
(defgeneric finalize-sod-class (class)
* The class is checked for compiance with the well-formedness rules.
- * The layout chains are computed."))
+ * The layout chains are computed.
+
+ User methods can assume that the class in question has not yet been
+ finalized. Errors during finalization can be reported in the usual
+ way."))
;;;----- That's all, folks --------------------------------------------------