(export 'basic-message)
(defclass basic-message (sod-message)
- ((argument-tail :type list :reader sod-message-argument-tail)
- (no-varargs-tail :type list :reader sod-message-no-varargs-tail))
+ ((argument-tail :type list :reader sod-message-argument-tail))
(:documentation
"Base class for built-in message classes.
(argument-type arg))))
(c-function-arguments (sod-message-type message)))))
-(define-on-demand-slot basic-message no-varargs-tail (message)
- (reify-variable-argument-tail (sod-message-argument-tail message)))
-
(defmethod sod-message-method-class
((message basic-message) (class sod-class) pset)
(let ((role (get-property pset :role :keyword nil)))
using a slot reader method."))
(define-on-demand-slot basic-effective-method basic-argument-names (method)
- (let ((message (effective-method-message method)))
- (mapcar #'argument-name
- (sod-message-no-varargs-tail message))))
+ (let* ((message (effective-method-message method))
+ (raw-tail (sod-message-argument-tail message)))
+ (mapcar #'argument-name (reify-variable-argument-tail raw-tail))))
(defmethod effective-method-function-name ((method effective-method))
(let* ((class (effective-method-class method))