let trust = ref (fun _ -> true);;
let set_trust f = trust := f
let trust_obj uri = !trust uri
-
+let debug_print = fun _ -> ()
(* ************************************************************************** *
TYPES
) l
in
C.Meta(i,l')
+ | C.Sort (C.Type u) ->
+ CicUniv.assert_univ u;
+ C.Sort (C.Type (CicUniv.recons_univ u))
| C.Sort _ as t -> t
| C.Implicit _ as t -> t
| C.Cast (te,ty) -> C.Cast (restore_in_term te, restore_in_term ty)
in
C.CoFix (i, liftedfl)
in
- function
+ function
C.Constant (name,bo,ty,params,attrs) ->
let bo' =
match bo with
frozen_list := List.remove_assoc uri !frozen_list;
frozen_list := (uri,(o,Some real_ugraph))::!frozen_list;
| Some g ->
- prerr_endline (
+ debug_print (
"You are probably hacking an object already hacked or an"^
" object that has the universe file but is not"^
" yet committed.");
assert false
with
Not_found ->
- prerr_endline (
+ debug_print (
"You are hacking an object that is not in the"^
" frozen_list, this means you are probably generating an"^
" universe file for an object that already"^
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
let obj =
try
- CicParser.obj_of_xml filename bodyfilename
+ let time = Unix.gettimeofday() in
+ let rc = CicParser.obj_of_xml uri filename bodyfilename in
+ total_parsing_time :=
+ !total_parsing_time +. ((Unix.gettimeofday()) -. time );
+ rc
with exn ->
cleanup ();
(match exn with
(Some (CicUniv.ugraph_of_xml filename_univ),Some filename_univ)
with Failure s ->
- prerr_endline (
+ debug_print (
"WE HAVE NO UNIVERSE FILE FOR " ^ (UriManager.string_of_uri uri));
Inix.unlink
None,None
(**********************************************
TASSI: should fail when universes will be ON
***********************************************)
- (** (Some CicUniv.empty_ugraph,None) *)
- (None,None)
+ (Some CicUniv.empty_ugraph,None)
in
cleanup();
obj,ugraph
let set_type_checking_info ?(replace_ugraph=None) uri =
(*
if not (Cache.can_be_cooked uri) && replace_ugraph <> None then begin
- prerr_endline (
+ debug_print (
"?replace_ugraph must be None if you are not committing an "^
"object that has a universe graph associated "^
"(can happen only in the fase of universes graphs generation).");
match Cache.can_be_cooked uri, replace_ugraph with
| true, Some _
| false, None ->
- prerr_endline (
+ debug_print (
"?replace_ugraph must be (Some ugraph) when committing an object that "^
"has no associated universe graph. If this is in make_univ phase you "^
"should drop this exception and let univ_make commit thi object with "^
else
(* we don't trust the uri, so we fail *)
begin
- prerr_endline ("CACHE MISS: " ^ (UriManager.string_of_uri uri));
+ debug_print ("CACHE MISS: " ^ (UriManager.string_of_uri uri));
raise Not_found
end
(list_uri ())
with
Not_found ->
- prerr_endline "Who has removed the uri in the meanwhile?";
+ debug_print "Who has removed the uri in the meanwhile?";
raise Not_found
;;