X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/sod/blobdiff_plain/3a774b55edfea441c1715994924c2999e9202143..7aa55c1174f170016d970a3f5e86d5115f02611c:/src/builtin.lisp?ds=inline diff --git a/src/builtin.lisp b/src/builtin.lisp index 7357752..776d3a1 100644 --- a/src/builtin.lisp +++ b/src/builtin.lisp @@ -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.