X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/sod/blobdiff_plain/675b48242d0f5c6f2f2563003a1d2fd87e06522c..2bc73f786f7dc35ecff3e1484a6376aae1de4962:/src/method-proto.lisp diff --git a/src/method-proto.lisp b/src/method-proto.lisp index 2d5f471..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 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 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)