X-Git-Url: https://git.distorted.org.uk/~mdw/sod/blobdiff_plain/1622ed8e30b05ba9025520cde3e68d186c8c7e50..f64eb323a5798e155cc494043f5f750abf50a482:/src/method-proto.lisp diff --git a/src/method-proto.lisp b/src/method-proto.lisp index f5d8be7..048c924 100644 --- a/src/method-proto.lisp +++ b/src/method-proto.lisp @@ -63,6 +63,15 @@ This protocol is used by `simple-message' subclasses.")) +(export 'method-keyword-argument-lists) +(defgeneric method-keyword-argument-lists (method direct-methods) + (: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.")) + (export 'compute-sod-effective-method) (defgeneric compute-sod-effective-method (message class) (:documentation @@ -216,6 +225,16 @@ not included, and neither are more exotic arguments added as part of the method delegation protocol.")) +(export 'effective-method-live-p) +(defgeneric effective-method-live-p (method) + (:documentation + "Returns true if the effective METHOD is live. + + An effective method is `live' if it should actually have proper method entry + functions associated with it and stored in the class vtable. The other + possibility is that the method is `dead', in which case the function + pointers in the vtable are left null.")) + ;;;-------------------------------------------------------------------------- ;;; Code generation.