X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Fng_kernel%2FnCicEnvironment.ml;h=ef3bca22d06941ebfa20fe883d4423eb7ec87e0e;hb=b8e036c5f3f54406e36cee1177a78922d59a0295;hp=f31c4e9b1ebbc71416ced0dbbc120e4bf60c7448;hpb=a4086666ce84a0a71a587cafd52d1a08b26e54f0;p=helm.git diff --git a/helm/software/components/ng_kernel/nCicEnvironment.ml b/helm/software/components/ng_kernel/nCicEnvironment.ml index f31c4e9b1..ef3bca22d 100644 --- a/helm/software/components/ng_kernel/nCicEnvironment.ml +++ b/helm/software/components/ng_kernel/nCicEnvironment.ml @@ -19,6 +19,9 @@ exception ObjectNotFound of string Lazy.t;; exception BadDependency of string Lazy.t * exn;; exception BadConstraint of string Lazy.t;; +let get_obj = ref (fun _ -> assert false);; +let set_get_obj f = get_obj := f;; + let type0 = [] let max l1 l2 = @@ -125,17 +128,13 @@ let get_checked_obj u = Not_found -> let saved_frozen_list = !frozen_list in try - let obj = - try NCicLibrary.get_obj u - with - NCicLibrary.ObjectNotFound m -> raise (ObjectNotFound m) - in - frozen_list := (u,obj)::saved_frozen_list; - !typecheck_obj obj; - frozen_list := saved_frozen_list; - let obj = `WellTyped obj in - NUri.UriHash.add cache u obj; - obj + let obj = !get_obj u in + frozen_list := (u,obj)::saved_frozen_list; + !typecheck_obj obj; + frozen_list := saved_frozen_list; + let obj = `WellTyped obj in + NUri.UriHash.add cache u obj; + obj with Sys.Break as e -> frozen_list := saved_frozen_list;