chiark / gitweb /
src/c-types-impl.lisp: Remember `signed' as a C-level synonym for `int'.
[sod] / src / class-layout-proto.lisp
index 927700f24b71075664af2ee8b3d424e86260da8a..c9198922559bd4e7e1617d5ef165daafa7e8c4b3 100644 (file)
@@ -68,6 +68,19 @@ (defgeneric compute-effective-slot (class slot)
    SLOT is a direct slot defined on CLASS or one of its superclasses.
    (Metaclass initializers are handled using a different mechanism.)"))
 
    SLOT is a direct slot defined on CLASS or one of its superclasses.
    (Metaclass initializers are handled using a different mechanism.)"))
 
+(export 'find-class-initializer)
+(defgeneric find-class-initializer (slot class)
+  (:documentation
+   "Return an initializer value (any printable value) for a class slot SLOT.
+
+   The initializer might come either from the SLOT's defining class (which it
+   already knows), or from the instance CLASS, of which the defining class is
+   be (a superclass of) the metaclass.
+
+   This is used as part of `has-class-initializer-p' and the default output
+   hook for `effective-slot': if you override both of those then you don't
+   need to override this too."))
+
 ;;;--------------------------------------------------------------------------
 ;;; Instance layout.
 
 ;;;--------------------------------------------------------------------------
 ;;; Instance layout.