]> matita.cs.unibo.it Git - helm.git/commitdiff
added invalidate to clear the cache and ease the comparison with the new kernel
authorEnrico Tassi <enrico.tassi@inria.fr>
Mon, 7 Apr 2008 16:30:11 +0000 (16:30 +0000)
committerEnrico Tassi <enrico.tassi@inria.fr>
Mon, 7 Apr 2008 16:30:11 +0000 (16:30 +0000)
helm/software/components/cic_proof_checking/cicEnvironment.ml
helm/software/components/cic_proof_checking/cicEnvironment.mli

index 8ae5c1b13c1a80a0cc9c974a05b71f8ccda6f49b..9875f17f6f722b7c5674a018cba684ab378e616a 100644 (file)
@@ -105,6 +105,7 @@ module Cache :
    val is_in_unchecked: UriManager.uri -> bool
    val is_in_cooked: UriManager.uri -> bool
    val list_all_cooked_uris: unit -> UriManager.uri list
+   val invalidate: unit -> unit
   end 
 =
   struct
@@ -143,6 +144,13 @@ module Cache :
     (* unchecked is used to store objects just fetched, nothing more. *)    
     let unchecked_list = ref [];;
 
+    let invalidate _ =
+      let l = HT.fold (fun k (o,g,gl) acc -> (k,(o,Some (g,gl)))::acc) cacheOfCookedObjects [] in
+      unchecked_list := l ;
+      frozen_list := [];
+      HT.clear cacheOfCookedObjects;
+    ;;
+
     let empty () = 
       HT.clear cacheOfCookedObjects;
       unchecked_list := [] ;
@@ -546,3 +554,7 @@ let list_obj () =
       debug_print (lazy "Who has removed the uri in the meanwhile?");
       raise Not_found
 ;;
+
+let invalidate _ = 
+   Cache.invalidate ()
+;;
index 55566a614493de9ae8b872a0a9347d2cf6a37073..e449ade4a83e4cceb6758d57bc26c03cd39ea813 100644 (file)
@@ -133,4 +133,6 @@ val in_library: UriManager.uri -> bool
   (** total parsing time, only to benchmark the parser *)
 val total_parsing_time: float ref
 
+val invalidate: unit -> unit
+
 (* EOF *)