X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/sod/blobdiff_plain/f64eb323a5798e155cc494043f5f750abf50a482..3b92d2b13d6784a8e30babcf6def39d2ba05082f:/src/class-output.lisp?ds=sidebyside diff --git a/src/class-output.lisp b/src/class-output.lisp index a59bda0..8d1d93e 100644 --- a/src/class-output.lisp +++ b/src/class-output.lisp @@ -185,7 +185,7 @@ (defmethod hook-output progn ((class sod-class) (reason (eql :h)) sequencer) (when varargsp (format stream "#ifdef SOD__HAVE_VARARGS_MACROS~%")) (format stream "#define ~A(~{~A~^, ~}) ~ - ~A->_vt->~A.~A(~{~A~^, ~})~%" + (~A)->_vt->~A.~A(~{~A~^, ~})~%" (message-macro-name class entry) (nreverse in-names) me @@ -299,7 +299,7 @@ (defmethod hook-output progn (c-function-keywords type)))) (when keys (format stream "struct ~A {~%~ - ~{ unsigned ~A : 1;~%~}~ + ~{ unsigned ~A: 1;~%~}~ };~2%" (direct-method-suppliedp-struct-tag method) (mapcar #'argument-name keys)))))))) @@ -511,7 +511,7 @@ (defmethod hook-output progn class) (format stream "~&struct ~A {~%" (effective-method-keyword-struct-tag method)) - (format stream "~{ unsigned ~A__suppliedp : 1;~%~}" + (format stream "~{ unsigned ~A__suppliedp: 1;~%~}" (mapcar #'argument-name keys)) (dolist (key keys) (write-string " " stream) @@ -654,15 +654,6 @@ (defmethod hook-output progn (vtable-name class chain-head) (sod-class-nickname chain-tail)))))) -(defgeneric find-class-initializer (slot class) - (:method ((slot effective-slot) (class sod-class)) - (let ((dslot (effective-slot-direct-slot slot))) - (or (some (lambda (super) - (find dslot (sod-class-class-initializers super) - :test #'sod-initializer-slot)) - (sod-class-precedence-list class)) - (effective-slot-initializer slot))))) - (defgeneric output-class-initializer (slot instance stream) (:method ((slot sod-class-effective-slot) (instance sod-class) stream) (let ((func (effective-slot-initializer-function slot))