X-Git-Url: https://git.distorted.org.uk/~mdw/sod/blobdiff_plain/284f1fa2ace3e276052ff1bd7d66442500e693da..678b6c0f7fe1d62abdf249b173a8a922c4e5c1d3:/src/method-impl.lisp?ds=sidebyside diff --git a/src/method-impl.lisp b/src/method-impl.lisp index e4aaae3..f0fd3fc 100644 --- a/src/method-impl.lisp +++ b/src/method-impl.lisp @@ -438,7 +438,15 @@ (type (c-type (fun (lisp return-type) ("me" (* (class tail))) . entry-args)))) - (codegen-pop-function codegen name type) + (codegen-pop-function codegen name type + "~@(~@[~A ~]entry~) function ~:_~ + for method `~A.~A' ~:_~ + via chain headed by `~A' ~:_~ + defined on `~A'." + (if parm-n "Indirect argument-tail" nil) + (sod-class-nickname message-class) + (sod-message-name message) + head class) ;; If this is a varargs method then we've made the ;; `:valist' role. Also make the `nil' role. @@ -458,7 +466,15 @@ (deliver-expr codegen target call) (deliver-call codegen :void "va_end" *sod-ap*))) - (codegen-pop-function codegen main main-type)))))) + (codegen-pop-function codegen main main-type + "Variable-length argument list ~:_~ + entry function ~:_~ + for method `~A.~A' ~:_~ + via chain headed by `~A' ~:_~ + defined on `~A'." + (sod-class-nickname message-class) + (sod-message-name message) + head class)))))) ;; Generate the method body. We'll work out what to do with it later. (codegen-push codegen) @@ -492,7 +508,12 @@ ;; function and call it a lot. (codegen-build-function codegen emf-name emf-type vars (nconc insts (and result - (list (make-return-inst result))))) + (list (make-return-inst result)))) + "Effective method function ~:_for `~A.~A' ~:_~ + defined on `~A'." + (sod-class-nickname message-class) + (sod-message-name message) + (effective-method-class method)) (let ((call (apply #'make-call-inst emf-name "sod__obj" (mapcar #'argument-name emf-arg-tail))))