X-Git-Url: https://git.distorted.org.uk/~mdw/sod/blobdiff_plain/a535feed31204e82c6443411d16a03958c3ca4d2..4b8e5c0347115ff30841f1d1e71afe59ecb6c82c:/src/method-impl.lisp diff --git a/src/method-impl.lisp b/src/method-impl.lisp index c5785a2..4a8249b 100644 --- a/src/method-impl.lisp +++ b/src/method-impl.lisp @@ -138,7 +138,7 @@ . (c-function-arguments type)))))) (defmethod sod-method-function-name ((method basic-direct-method)) - (with-slots (class role message) method + (with-slots ((class %class) role message) method (format nil "~A__~@[~(~A~)_~]method_~A__~A" class role (sod-class-nickname (sod-message-class message)) (sod-message-name message)))) @@ -159,7 +159,7 @@ (defmethod check-method-type ((method daemon-direct-method) (message sod-message) (type c-function-type)) - (with-slots ((msgtype type)) message + (with-slots ((msgtype %type)) message (unless (c-type-equal-p (c-type-subtype type) (c-type void)) (error "Method return type ~A must be `void'" (c-type-subtype type))) (unless (argument-lists-compatible-p (c-function-arguments msgtype) @@ -323,7 +323,8 @@ returned by the outermost `around' method -- or, if there are none, delivered by the BODY -- is finally delivered to the TARGET." - (with-slots (message class before-methods after-methods around-methods) + (with-slots (message (class %class) + before-methods after-methods around-methods) method (let* ((message-type (sod-message-type message)) (return-type (c-type-subtype message-type))