src/parser/floc-proto.lisp (make-condition-with-location): Error checking.
[sod] / src / method-aggregate.lisp
index ec0a119..eeea9df 100644 (file)
       ;; Check that we've been given a method combination and make sure it
       ;; actually exists.
       (unless comb
-       (error "The `combination' property is required."))
+       (error "The `combination' property is required"))
       (unless (some (lambda (method)
                      (let* ((specs (method-specializers method))
                             (message-spec (car specs))
                                 comb))))
                    (generic-function-methods
                     #'compute-aggregating-message-kernel))
-       (error "Unknown method combination `~(~A~)'." comb))
+       (error "Unknown method combination `~(~A~)'" comb))
       (setf combination comb)
 
       ;; Make sure the ordering is actually valid.
       (unless (member most-specific '(:first :last))
-       (error "The `most_specific' property must be `first' or `last'."))
+       (error "The `most_specific' property must be `first' or `last'"))
 
       ;; Set up the function which will compute the kernel.
       (let ((magic (cons nil nil))
   (let ((wanted (aggregating-message-method-return-type
                 message (sod-message-combination message)))
        (msgtype (sod-message-type message)))
-    (unless (c-type-equal-p (c-type-subtype type) wanted)
-      (error "Method return type ~A doesn't match message ~A"
-             (c-type-subtype msgtype) (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 wanted)
+    (check-method-argument-lists type msgtype)))
 
 ;;;--------------------------------------------------------------------------
 ;;; Utilities.
                    (unless (c-type-equal-p (c-type-subtype ,type)
                                            ,want-type)
                      (error "Messages with `~(~A~)' combination ~
-                             must return `~A'."
+                             must return `~A'"
                             ,combvar ,want-type)))
                  (call-next-method))))