*)
empty ();
HT.iter
- (fun k v ->
+ (fun k (v,u) ->
callback (UriManager.string_of_uri k);
HT.add cacheOfCookedObjects
(UriManager.uri_of_string (UriManager.string_of_uri k))
(***********************************************
TSSI: FIXME add channel stuff for universes
************************************************)
- ((restore_uris v),CicUniv.empty_ugraph))
+ (restore_uris v, CicUniv.recons_graph u))
restored
;;
None ->
assert false (* only NON dummy universes can be committed *)
| Some g ->
+ CicUniv.assert_univs_have_uri g;
frozen_list := List.remove_assq uri !frozen_list ;
HT.add cacheOfCookedObjects uri (obj,g)
with
* something. this means check and frozen must be empty.
*)
let remove uri =
- if (!unchecked_list <> []) || (!frozen_list <> []) then
+ if !frozen_list <> [] then
failwith "CicEnvironment.remove while type checking"
else
HT.remove cacheOfCookedObjects uri
let restore_from_channel = Cache.restore_from_channel;;
let empty = Cache.empty;;
+let total_parsing_time = ref 0.0
+
let get_object_to_add uri =
let filename = Http_getter.getxml' uri in
let bodyfilename =
| None -> ()
end
in
- (* this brakes something :
- * let _ = CicUniv.restart_numbering () in
- *)
+ (* restarts the numbering of named universes (the ones inside the cic) *)
+ let _ = CicUniv.restart_numbering () in
+ (* HACK ORRIBILE: fa in modo che il parser metta degli universi fresh non
+ * anonimi *)
+ let _ = CicParser3.set_uri uri in
let obj =
try
- CicParser.obj_of_xml filename bodyfilename
+ let time = Unix.gettimeofday() in
+ let rc = CicParser.obj_of_xml filename bodyfilename in
+ total_parsing_time :=
+ !total_parsing_time +. ((Unix.gettimeofday()) -. time );
+ rc
with exn ->
cleanup ();
(match exn with
o,(CicUniv.merge_ugraphs base_univ u)
with Not_found ->
(* this should be an error case, but if we trust the uri... *)
- if trust_obj uri then
- (* trusting we add it to the unchecked list *)
let o,u = find_or_add_to_unchecked uri in
o,(CicUniv.merge_ugraphs base_univ u)
- else
- raise Not_found
;;
exception OnlyPutOfInductiveDefinitionsIsAllowed
true
with Http_getter_types.Key_not_found _ -> false)
-let remove_term = Cache.remove
+let remove_obj = Cache.remove
let list_uri () =
Cache.list_all_cooked_uris ()