chiark / gitweb /
src/c-types-parse.lisp: Introduce a pluggable parser for declspecs.
[sod] / src / classes.lisp
index 118b09b770aac09b2458db758529497caa8d5051..d403d109e60fdbe131a4428b983ecb15b804c237 100644 (file)
@@ -88,7 +88,7 @@ (defclass sod-class ()
    (effective-methods :type list :reader sod-class-effective-methods)
    (vtables :type list :reader sod-class-vtables)
 
-   (state :initform nil :type (member nil :finalized broken)
+   (state :initform nil :type (member nil :finalized :broken)
          :reader sod-class-state))
   (:documentation
    "Classes describe the layout and behaviour of objects.
@@ -294,14 +294,11 @@ (defclass sod-initializer ()
    and `sod-instance-initializer'."))
 
 (defmethod print-object ((initializer sod-initializer) stream)
-  (if *print-escape*
-      (print-unreadable-object (initializer stream :type t)
-       (format stream "~A = ~A"
-               (sod-initializer-slot initializer)
-               initializer))
-      (format stream "~:[{~A}~;~A~]"
-             (eq (sod-initializer-value-kind initializer) :single)
-             (sod-initializer-value-form initializer))))
+  (with-slots (slot value-kind value-form) initializer
+    (if *print-escape*
+       (print-unreadable-object (initializer stream :type t)
+         (format stream "~A = ~A" slot value-form))
+       (format stream "~:[{~A}~;~A~]" (eq value-kind :single) value-form))))
 
 (export 'sod-class-initializer)
 (defclass sod-class-initializer (sod-initializer)