]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/ocaml/cic_annotations_cache/cicCache.ml
split into two major parts:
[helm.git] / helm / ocaml / cic_annotations_cache / cicCache.ml
index 8bc4be6c4fcca3f77d88a9b7c97b26c325ae77bc..0885397581690671e0f04ab6cb3e109e5846dc0e 100644 (file)
@@ -39,12 +39,24 @@ let get_annobj uri =
  let module G = Getter in
  let module U = UriManager in
   let cicfilename = G.getxml (U.cicuri_of_uri uri) in
-   let annobj = CicParser.annobj_of_xml cicfilename uri in
+  let cicbodyfilename =
+   match U.bodyuri_of_uri uri with
+      None -> None
+    | Some bodyuri ->
+       Some (G.getxml (U.cicuri_of_uri bodyuri))
+  in
+   let annobj = CicParser.annobj_of_xml cicfilename cicbodyfilename in
+    Unix.unlink cicfilename ;
+    (match cicbodyfilename with None -> () | Some fn -> Unix.unlink fn) ;
     annobj,
      if U.uri_is_annuri uri then
       begin
        let annfilename = G.getxml (U.annuri_of_uri uri) in
-        Some (CicAnnotationParser.get_annotations annfilename)
+        let res =
+         Some (CicAnnotationParser.get_annotations annfilename)
+        in
+         Unix.unlink annfilename ;
+         res
       end
      else
       None