X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/sod/blobdiff_plain/b426ab51d0598242a4c2b57d563341db66d71f7b..16f9fb7227bf77da748dd6fc03e58c6a9e84ab70:/src/class-layout-impl.lisp diff --git a/src/class-layout-impl.lisp b/src/class-layout-impl.lisp index 950db2b..fb684b7 100644 --- a/src/class-layout-impl.lisp +++ b/src/class-layout-impl.lisp @@ -50,7 +50,8 @@ (defmethod compute-effective-slot ((class sod-class) (slot sod-slot)) ;;;-------------------------------------------------------------------------- ;;; Special-purpose slot objects. -(export 'sod-class-slot) +(export '(sod-class-slot + sod-slot-initializer-function sod-slot-prepare-function)) (defclass sod-class-slot (sod-slot) ((initializer-function :initarg :initializer-function :type (or symbol function) @@ -129,12 +130,6 @@ (defmethod compute-effective-methods ((class sod-class)) (sod-class-messages super))) (sod-class-precedence-list class))) -(defmethod slot-unbound - (clos-class (class sod-class) (slot-name (eql 'effective-methods))) - (declare (ignore clos-class)) - (setf (slot-value class 'effective-methods) - (compute-effective-methods class))) - ;;;-------------------------------------------------------------------------- ;;; Instance layout. @@ -207,12 +202,6 @@ (defmethod compute-ilayout ((class sod-class)) (reverse chain))) (sod-class-chains class)))) -(defmethod slot-unbound - (clos-class (class sod-class) (slot-name (eql 'ilayout))) - (declare (ignore clos-class)) - (setf (slot-value class 'ilayout) - (compute-ilayout class))) - ;;;-------------------------------------------------------------------------- ;;; Vtable layout. @@ -390,10 +379,4 @@ (defmethod compute-vtables ((class sod-class)) (compute-vtable class (reverse chain))) (sod-class-chains class))) -(defmethod slot-unbound - (clos-class (class sod-class) (slot-name (eql 'vtables))) - (declare (ignore clos-class)) - (setf (slot-value class 'vtables) - (compute-vtables class))) - ;;;----- That's all, folks --------------------------------------------------