chiark / gitweb /
src/method-impl.lisp: Abolish the `emf-entry-tail' variable.
[sod] / src / class-finalize-proto.lisp
index c7de25561efe27b8a794504699f4a2818bef6e8d..fcb8686cda97030932b6c9a97bc89f375ee581aa 100644 (file)
@@ -7,7 +7,7 @@
 
 ;;;----- Licensing notice ---------------------------------------------------
 ;;;
-;;; This file is part of the Sensble Object Design, an object system for C.
+;;; This file is part of the Sensible Object Design, an object system for C.
 ;;;
 ;;; SOD is free software; you can redistribute it and/or modify
 ;;; it under the terms of the GNU General Public License as published by
@@ -28,10 +28,12 @@ (cl:in-package #:sod)
 ;;;--------------------------------------------------------------------------
 ;;; Protocol definition.
 
+(export 'compute-cpl)
 (defgeneric compute-cpl (class)
   (:documentation
    "Returns the class precedence list for CLASS."))
 
+(export 'compute-chains)
 (defgeneric compute-chains (class)
   (:documentation
    "Compute the layout chains for CLASS.
@@ -50,6 +52,15 @@ (defgeneric compute-chains (class)
    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
    "Check the CLASS for validity.
@@ -73,6 +84,7 @@ (defgeneric check-sod-class (class)
    Returns true if all is well; false (and signals errors) if anything was
    wrong."))
 
+(export 'finalize-sod-class)
 (defgeneric finalize-sod-class (class)
   (:documentation
    "Computes all of the gory details about a class.