X-Git-Url: https://git.distorted.org.uk/~mdw/sod/blobdiff_plain/bf090e021a5c20da452a4841cdfb8eb78e29544e..8dba302b8123339889418d130c03bb2af4d0f464:/src/class-utilities.lisp?ds=sidebyside diff --git a/src/class-utilities.lisp b/src/class-utilities.lisp index 62f27d8..5a74bcb 100644 --- a/src/class-utilities.lisp +++ b/src/class-utilities.lisp @@ -100,7 +100,7 @@ The root superclass is the superclass which itself has no direct superclasses. In universes not based on the provided builtin module, the - root class may not be our beloved SodObject; however, there must be one + root class may not be our beloved `SodObject'; however, there must be one (otherwise the class graph is cyclic, which should be forbidden), and we insist that it be unique." @@ -160,7 +160,8 @@ (and (= (length message-args) (length method-args)) (every (lambda (message-arg method-arg) (if (eq message-arg :ellipsis) - (eq method-arg (c-type va-list)) + (c-type-equal-p (argument-type method-arg) + (c-type va-list)) (c-type-equal-p (argument-type message-arg) (argument-type method-arg)))) message-args method-args))) @@ -196,4 +197,8 @@ (defun vtable-name (class chain-head) (format nil "~A__vtable_~A" class (sod-class-nickname chain-head))) +(export 'message-macro-name) +(defun message-macro-name (class message) + (format nil "~A_~A" class (sod-message-name message))) + ;;;----- That's all, folks --------------------------------------------------