chiark / gitweb /
src/: Factor out common machinery in `check-method-type' methods.
[sod] / src / method-impl.lisp
index db1e8d66a7aa0a56545efd08bd2851dd2ae6ff6e..3857b461f5a30b5cb2f34ff7eab256070eb0df84 100644 (file)
@@ -147,11 +147,8 @@ (defmethod check-method-type ((method daemon-direct-method)
                              (message sod-message)
                              (type c-function-type))
   (with-slots ((msgtype %type)) message
-    (unless (c-type-equal-p (c-type-subtype type) c-type-void)
-      (error "Method return type ~A must be `void'" (c-type-subtype type)))
-    (unless (argument-lists-compatible-p (c-function-arguments msgtype)
-                                        (c-function-arguments type))
-      (error "Method arguments ~A don't match message ~A" type msgtype))))
+    (check-method-return-type type c-type-void)
+    (check-method-argument-lists type msgtype)))
 
 (export 'delegating-direct-method)
 (defclass delegating-direct-method (basic-direct-method)