src/module-parse.lisp (parse-class-body): Check for duplicate superclasses.
[sod] / src / module-parse.lisp
index 0a3cd28..747bdf7 100644 (file)
                                  (continue ()
                                    (setf duff t)
                                    (list (find-sod-class "SodObject"))))))
-             superclasses))
+             (find-duplicates (lambda (first second)
+                                (declare (ignore second))
+                                (setf duff t)
+                                (cerror* "Class `~A' has duplicate ~
+                                          direct superclass `~A'"
+                                         name first))
+                              superclasses)
+             (delete-duplicates superclasses)))
           (synthetic-name (or name
                               (let ((var (synthetic-name)))
                                 (unless pset