chiark / gitweb /
src/class-finalize-{proto,impl}.lisp (finalize-sod-class): Add `:around'.
[sod] / src / class-finalize-proto.lisp
index fcb8686cda97030932b6c9a97bc89f375ee581aa..80d0c121ca184554d30d31213e5092f7995eb2d2 100644 (file)
@@ -81,8 +81,11 @@ (defgeneric check-sod-class (class)
      * 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)
@@ -103,6 +106,10 @@ (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 --------------------------------------------------