r11704: can not use keywords in :subobject functions
[umlisp.git] / class-support.lisp
index 3847eb5ef2813d876b4e41be5b76692a7ac20f4f..e4f49cbcedeb36749d18008bfc56036fbd937dc7 100644 (file)
         ((char-equal #\O c)
          "Other"))))
 
-
-(defgeneric cxt-ancestors (obj))
-(defmethod cxt-ancestors ((con ucon))
-  (loop for term in (s#term con)
-      append (cxt-ancestors term)))
-
-
-(defmethod cxt-ancestors ((term uterm))
-  (loop for str in (s#str term)
-      append (cxt-ancestors str)))
-
-(defmethod cxt-ancestors ((str ustr))
-  "Return the ancestory contexts of a ustr"
-  (let* ((anc (remove-if-not
-              (lambda (cxt) (string-equal "ANC" (cxl cxt)))
-              (s#cxt str)))
-        (num-contexts (if anc
-                          (apply #'max (mapcar (lambda (cxt) (cxn cxt)) anc))
-                        0))
-        (anc-lists '()))
-    (dotimes (i num-contexts (nreverse anc-lists))
-      (let* ((anc-this-cxn (remove-if-not
-                           (lambda (cxt) (= (1+ i) (cxn cxt))) anc)))
-       (push
-        (sort anc-this-cxn (lambda (a b) (< (rank a) (rank b))))
-        anc-lists)))))
-
 (defun uso-unique-codes (usos)
   (let ((sab-codes (make-hash-table :test 'equal)))
     (dolist (uso usos)