src/lexer-impl.lisp: Don't always skip a token.
[sod] / src / class-finalize-proto.lisp
index c7de255..fcb8686 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
 ;;;--------------------------------------------------------------------------
 ;;; 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.
    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 @@
    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.