]> matita.cs.unibo.it Git - helm.git/commitdiff
Bug fixed: when an axiom was asked, an exception was raised (since the
authorClaudio Sacerdoti Coen <claudio.sacerdoticoen@unibo.it>
Tue, 10 Feb 2004 14:03:33 +0000 (14:03 +0000)
committerClaudio Sacerdoti Coen <claudio.sacerdoticoen@unibo.it>
Tue, 10 Feb 2004 14:03:33 +0000 (14:03 +0000)
check for an existent body was skipped).

helm/ocaml/cic_cache/cicCache.ml

index 394f9db77bcc158d467fd8db7fa4e86d40bb49d4..29d6a9a2fb445fd3a34164c7645a854773e8ac56 100644 (file)
@@ -45,12 +45,21 @@ let get_annobj uri =
          Unix.unlink cicfilename ;
          annobj
     | Some bodyuri ->
-       let cicbodyfilename = G.getxml (U.cicuri_of_uri bodyuri) in
+       let cicbodyfilename =
+        try
+         ignore (Getter.resolve bodyuri) ;
+         (* The body exists ==> it is not an axiom *)
+         Some (Getter.getxml bodyuri)
+        with
+         Getter.Unresolved ->
+          (* The body does not exist ==> we consider it an axiom *)
+          None
+       in
         let annobj =
-         CicParser.annobj_of_xml cicfilename (Some cicbodyfilename)
+         CicParser.annobj_of_xml cicfilename cicbodyfilename
         in
          Unix.unlink cicfilename ;
-         Unix.unlink cicbodyfilename ;
+         (match cicbodyfilename with None -> () | Some f -> Unix.unlink f) ;
          annobj
 ;;
 
@@ -64,9 +73,18 @@ let get_obj uri =
          Unix.unlink cicfilename ;
          obj
     | Some bodyuri ->
-       let cicbodyfilename = G.getxml (U.cicuri_of_uri bodyuri) in
-       let obj = CicParser.obj_of_xml cicfilename (Some cicbodyfilename) in
+       let cicbodyfilename =
+        try
+         ignore (Getter.resolve bodyuri) ;
+         (* The body exists ==> it is not an axiom *)
+         Some (Getter.getxml bodyuri)
+        with
+         Getter.Unresolved ->
+          (* The body does not exist ==> we consider it an axiom *)
+          None
+       in
+       let obj = CicParser.obj_of_xml cicfilename cicbodyfilename in
         Unix.unlink cicfilename ;
-        Unix.unlink cicbodyfilename ;
+        (match cicbodyfilename with None -> () | Some f -> Unix.unlink f) ;
         obj
 ;;