chiark / gitweb /
src/class-finalize-impl.lisp (check-sod-class): Remove `w/del' wrapper.
[sod] / src / class-layout-impl.lisp
index 452e683c74eee759eacd30a9379ec1dc47ef92f5..119996eb20149d06237684be3bec4109ef918e4a 100644 (file)
@@ -56,6 +56,14 @@ (defmethod compute-effective-slot ((class sod-class) (slot sod-slot))
                 :initializer (find-slot-initializer class slot)
                 :initargs (find-slot-initargs class slot)))
 
+(defmethod find-class-initializer ((slot effective-slot) (class sod-class))
+  (let ((dslot (effective-slot-direct-slot slot)))
+    (or (some (lambda (super)
+               (find dslot (sod-class-class-initializers super)
+                     :key #'sod-initializer-slot))
+             (sod-class-precedence-list class))
+       (effective-slot-initializer slot))))
+
 ;;;--------------------------------------------------------------------------
 ;;; Special-purpose slot objects.