X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/sod/blobdiff_plain/97d10f8b1f631cd32ea5ac9118b253cb4142d391..01778b39c53316dda3f757c49276d034039ee9cb:/src/method-proto.lisp diff --git a/src/method-proto.lisp b/src/method-proto.lisp index e85f62a..a986584 100644 --- a/src/method-proto.lisp +++ b/src/method-proto.lisp @@ -69,8 +69,8 @@ (defgeneric method-keyword-argument-lists (method direct-methods) "Returns a list of keyword argument lists to be merged. This should return a list suitable for passing to `merge-keyword-lists', - i.e., each element should be a pair consisting of a list of `argument' - objects and a string describing the source of the argument list.")) + i.e., each element should be a pair consisting of a string describing the + source of the argument list, and a list of `argument' objects.")) (export 'compute-sod-effective-method) (defgeneric compute-sod-effective-method (message class) @@ -147,6 +147,16 @@ (defgeneric sod-message-argument-tail (message) No `me' argument is prepended; any `:ellipsis' is left as it is.")) +(export 'sod-method-description) +(defgeneric sod-method-description (method) + (:documentation + "Return an adjectival phrase describing METHOD. + + The result will be placed into an error message reading something like + ``Conflicting definition of DESCRIPTION direct method `bogus'''. Two + direct methods which can coexist in the same class, defined on the same + message, should have differing descriptions.")) + (export 'sod-method-function-type) (defgeneric sod-method-function-type (method) (:documentation