From fbcba4c0ea87499493235cb32bd3ebc1e2058b10 Mon Sep 17 00:00:00 2001 Message-Id: From: Mark Wooding Date: Sun, 26 Mar 2017 15:16:18 +0100 Subject: [PATCH] src/method-impl.lisp (method-keyword-argument-lists): Check message type. Organization: Straylight/Edgeware From: Mark Wooding Check keyword arguments defined in the message as well as all of the applicable methods. --- src/method-impl.lisp | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/method-impl.lisp b/src/method-impl.lisp index f24b8c0..e3fb6ae 100644 --- a/src/method-impl.lisp +++ b/src/method-impl.lisp @@ -253,13 +253,16 @@ (defmethod method-keyword-argument-lists ((method effective-method) direct-methods) (with-slots (message) method (and (keyword-message-p message) - (mapcar (lambda (m) - (cons (c-function-keywords (sod-method-type m)) - (format nil "method for ~A on ~A (at ~A)" - message - (sod-method-class m) - (file-location m)))) - direct-methods)))) + (cons (cons (c-function-keywords (sod-message-type message)) + (format nil "message ~A (at ~A)" + message (file-location message))) + (mapcar (lambda (m) + (cons (c-function-keywords (sod-method-type m)) + (format nil "method for ~A on ~A (at ~A)" + message + (sod-method-class m) + (file-location m)))) + direct-methods))))) (defmethod shared-initialize :after ((method effective-method) slot-names &key direct-methods) -- [mdw]