X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/sod/blobdiff_plain/01778b39c53316dda3f757c49276d034039ee9cb..2bc73f786f7dc35ecff3e1484a6376aae1de4962:/src/method-proto.lisp?ds=sidebyside diff --git a/src/method-proto.lisp b/src/method-proto.lisp index a986584..f7f1f47 100644 --- a/src/method-proto.lisp +++ b/src/method-proto.lisp @@ -64,13 +64,19 @@ (defgeneric primary-method-class (message) This protocol is used by `simple-message' subclasses.")) (export 'method-keyword-argument-lists) -(defgeneric method-keyword-argument-lists (method direct-methods) +(defgeneric method-keyword-argument-lists (method direct-methods state) (:documentation "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 string describing the - source of the argument list, and a list of `argument' objects.")) + i.e., each element should be a pair consisting of a function describing + the source of the argument list (returning location and description), and + a list of `argument' objects. + + The METHOD is the effective method being processed; DIRECT-METHODS is the + complete list of applicable direct methods (most specific first); and + STATE is an `inheritance-path-reporter-state' object which can be used by + the returned reporting functions.")) (export 'compute-sod-effective-method) (defgeneric compute-sod-effective-method (message class)