chiark / gitweb /
src/c-types-impl.lisp: Remember `signed' as a C-level synonym for `int'.
[sod] / src / builtin.lisp
index be9a8e5caca366ee583f5126fa7c6e3dffced6c0..776d3a1edc8d2db71cce709edf702efd2673d5a6 100644 (file)
@@ -279,7 +279,7 @@           (default (sod-initarg-default initarg)))
 
 (definst suppliedp-struct (stream) (flags var)
   (format stream
-         "~@<struct { ~2I~_~{unsigned ~A : 1;~^ ~_~} ~I~_} ~A;~:>"
+         "~@<struct { ~2I~_~{unsigned ~A: 1;~^ ~_~} ~I~_} ~A;~:>"
          flags var))
 
 ;; Initialization.
@@ -294,8 +294,8 @@ (defmethod sod-message-effective-method-class
     ((message initialization-message))
   'initialization-effective-method)
 
-(defmethod method-keyword-argument-lists
-    ((method initialization-effective-method) direct-methods state)
+(defmethod sod-message-keyword-argument-lists
+    ((message initialization-message) (class sod-class) direct-methods state)
   (append (call-next-method)
          (mapcan (lambda (class)
                    (let* ((initargs (sod-class-initargs class))
@@ -317,8 +317,7 @@ (defmethod method-keyword-argument-lists
                                         (report-inheritance-path
                                          state class))
                                       arglist)))))
-                 (sod-class-precedence-list
-                  (effective-method-class method)))))
+                 (sod-class-precedence-list class))))
 
 (defmethod lifecycle-method-kernel
     ((method initialization-effective-method) codegen target)
@@ -517,9 +516,11 @@ (defun bootstrap-classes (module)
    instance of `SodClass', and `SodClass' is a subclass of `SodObject' (and
    an instance of itself)."
   (let* ((sod-object (make-sod-class "SodObject" nil
-                                    (make-property-set :nick 'obj)))
+                                    (make-property-set :nick 'obj
+                                                       :%bootstrapping t)))
         (sod-class (make-sod-class "SodClass" (list sod-object)
-                                   (make-property-set :nick 'cls)))
+                                   (make-property-set :nick 'cls
+                                                      :%bootstrapping t)))
         (classes (list sod-object sod-class)))
 
     ;; Attach the built-in messages.