chiark / gitweb /
src/{c-types-impl,method-{proto,impl}}.lisp: Improve `merge-keyword-lists'.
[sod] / src / method-proto.lisp
index a9865845f0fdf423eb6f6bb391d64e40c2b39853..f7f1f474b8a9e93dfee6d60ac9ce9f6d2e4d6a6d 100644 (file)
@@ -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)