]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/components/lexicon/lexiconEngine.ml
Horrible workaround
[helm.git] / helm / software / components / lexicon / lexiconEngine.ml
index 699af578b99b991aee117c6b0a1ed45a6dab91c4..39d95a7f2cd02c5f503390286c502a08e7e09d08 100644 (file)
@@ -47,11 +47,18 @@ let initial_status = {
   notation_ids = [];
 }
 
-class status =
+class type g_status =
  object
+  method lstatus: lexicon_status
+ end
+
+class status =
+ object(self)
   val lstatus = initial_status
   method lstatus = lstatus
   method set_lstatus v = {< lstatus = v >}
+  method set_lexicon_engine_status : 'status. #g_status as 'status -> 'self
+   = fun o -> self#set_lstatus o#lstatus
  end
 
 let dump_aliases out msg status =
@@ -139,7 +146,9 @@ let rec eval_command ?(mode=L.WithPreferences) sstatus cmd =
               prerr_endline ("LexiconEngine.eval_command: domain item not found: " ^ 
                (DisambiguateTypes.string_of_domain_item item));
              dump_aliases prerr_endline "" sstatus;
-              assert false
+              raise (Failure (
+                      (DisambiguateTypes.string_of_domain_item item) ^ 
+                      " not found"));
            end
        | p -> p
      in