X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/sod/blobdiff_plain/eeb8cc3f91402d0b7d78e17e09f69ff2a2b64882..4ee476bc29b80fca2faabb4bd286ca70c98f7a44:/src/class-make-impl.lisp?ds=sidebyside diff --git a/src/class-make-impl.lisp b/src/class-make-impl.lisp index 78f8fed..7495c01 100644 --- a/src/class-make-impl.lisp +++ b/src/class-make-impl.lisp @@ -146,9 +146,10 @@ (defmethod shared-initialize :after (defmethod make-sod-user-initarg ((class sod-class) name type pset &optional default location) - (declare (ignore pset)) (with-slots (initargs) class - (push (make-instance 'sod-user-initarg :location (file-location location) + (push (make-instance (get-property pset :initarg-class :symbol + 'sod-user-initarg) + :location (file-location location) :class class :name name :type type :default default) initargs))) @@ -159,10 +160,10 @@ (defmethod make-sod-slot-initarg (defmethod make-sod-slot-initarg-using-slot ((class sod-class) name (slot sod-slot) pset &optional location) - (declare (ignore pset)) (with-slots (initargs) class (with-slots ((type %type)) slot - (push (make-instance 'sod-slot-initarg + (push (make-instance (get-property pset :initarg-class :symbol + 'sod-slot-initarg) :location (file-location location) :class class :name name :type type :slot slot) initargs))))