X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/sod/blobdiff_plain/284f1fa2ace3e276052ff1bd7d66442500e693da..3aab0efa423fe20713c8cc02e8aabdf7fe84056b:/src/class-output.lisp diff --git a/src/class-output.lisp b/src/class-output.lisp index b2d1ec8..09f7e9f 100644 --- a/src/class-output.lisp +++ b/src/class-output.lisp @@ -452,15 +452,25 @@ (defmethod hook-output progn (defmethod hook-output progn ((method sod-method) (reason (eql :c)) sequencer) - (with-slots ((class %class) body) method + (with-slots ((class %class) role body message) method (unless body (return-from hook-output)) (sequence-output (stream sequencer) :constraint ((class :direct-methods :start) + (class :direct-method method :banner) (class :direct-method method :start) (class :direct-method method :body) (class :direct-method method :end) (class :direct-methods :end)) + ((class :direct-method method :banner) + (format-banner-comment stream "Direct ~@[~(~A~) ~]method ~:_~ + on `~A.~A' ~:_defined by `~A'." + role + (sod-class-nickname + (sod-message-class message)) + (sod-message-name message) + class) + (fresh-line stream)) ((class :direct-method method :body) (pprint-c-type (sod-method-function-type method) stream