if List.mem_assq uri !frozen_list then
(* CIRCULAR DEPENDENCY DETECTED, print the error and raise *)
begin
+(*
prerr_endline "\nCircularDependency!\nfrozen list: \n";
List.iter (
fun (u,(_,o)) ->
let univ = if o = None then "NO_UNIV" else "" in
prerr_endline (su^" "^univ))
!frozen_list;
+*)
raise (CircularDependency (lazy (UriManager.string_of_uri uri)))
end
else
match UriManager.bodyuri_of_uri uri with
None -> None
| Some bodyuri ->
- if Http_getter.exists' bodyuri then
+ if Http_getter.exists' ~local:false bodyuri then
Some (Http_getter.getxml' bodyuri)
else
None
try
(* the object should be in the cacheOfCookedObjects *)
let o,u,l = Cache.find_cooked uri in
- o,(CicUniv.merge_ugraphs ~base_ugraph ~increment:(u,uri)),l
+ o,(CicUniv.merge_ugraphs ~base_ugraph ~increment:(u,uri(*,l*))),l
with Not_found ->
(* this should be an error case, but if we trust the uri... *)
if trust && trust_obj uri then
(* trusting means that we will fetch cook it on the fly *)
let o,u,l = add_trusted_uri_to_cache uri in
- o,(CicUniv.merge_ugraphs ~base_ugraph ~increment:(u,uri)),l
+ o,(CicUniv.merge_ugraphs ~base_ugraph ~increment:(u,uri(*,l*))),l
else
(* we don't trust the uri, so we fail *)
begin
*)
let is_type_checked ?(trust=true) base_ugraph uri =
try
- let o,u,_ = Cache.find_cooked uri in
- CheckedObj (o,(CicUniv.merge_ugraphs ~base_ugraph ~increment:(u,uri)))
+ let o,u,l = Cache.find_cooked uri in
+ CheckedObj (o,(CicUniv.merge_ugraphs ~base_ugraph ~increment:(u,uri(*,l*))))
with Not_found ->
(* this should return UncheckedObj *)
if trust && trust_obj uri then
(* trusting means that we will fetch cook it on the fly *)
- let o,u,_ = add_trusted_uri_to_cache uri in
- CheckedObj ( o, CicUniv.merge_ugraphs ~base_ugraph ~increment:(u,uri))
+ let o,u,l = add_trusted_uri_to_cache uri in
+ CheckedObj ( o, CicUniv.merge_ugraphs ~base_ugraph ~increment:(u,uri(*,l*)))
else
let o,u,_ = find_or_add_to_unchecked uri in
Cache.unchecked_to_frozen uri;
let get_obj base_ugraph uri =
try
(* the object should be in the cacheOfCookedObjects *)
- let o,u,_ = Cache.find_cooked uri in
- o,(CicUniv.merge_ugraphs ~base_ugraph ~increment:(u,uri))
+ let o,u,l = Cache.find_cooked uri in
+ o,(CicUniv.merge_ugraphs ~base_ugraph ~increment:(u,uri(*,l*)))
with Not_found ->
(* this should be an error case, but if we trust the uri... *)
- let o,u,_ = find_or_add_to_unchecked uri in
- o,(CicUniv.merge_ugraphs ~base_ugraph ~increment:(u,uri))
+ let o,u,l = find_or_add_to_unchecked uri in
+ o,(CicUniv.merge_ugraphs ~base_ugraph ~increment:(u,uri(*,l*)))
;;
let in_cache uri =
let add_type_checked_obj uri (obj,ugraph,univlist) =
Cache.add_cooked ~key:uri (obj,ugraph,univlist)
-let in_library uri = in_cache uri || Http_getter.exists' uri
+let in_library uri = in_cache uri || Http_getter.exists' ~local:false uri
let remove_obj = Cache.remove