@@ -5,7 +5,7 @@ type param = {
55 epsilon_dependencies :bool ;
66 transparent_aliases : bool ;
77 transparent_extension_nodes : bool ;
8- policy : Fault.Policy .t ;
8+ fault_handler : Fault .handler ;
99 precomputed_libs : Name .set ;
1010 closed_world : bool ;
1111 sig_only :bool ;
@@ -59,38 +59,38 @@ let pair_split l =
5959 List. fold_left folder {ml= [] ;mli= [] } l
6060
6161(* * organisation **)
62- let signature_error policy = function
62+ let signature_error fault_handler = function
6363 | Ok x , _ -> Some x
6464 | Error e , filename ->
65- Standard_faults. schematic_errors policy (filename," sig" ,e);
65+ Standard_faults. schematic_errors fault_handler (filename," sig" ,e);
6666 None
6767
68- let pre_organize policy io files =
68+ let pre_organize fault_handler io files =
6969 let units, signatures = split (info_split io) files in
7070 let signatures =
7171 Module.Namespace. merge_all @@ Option.List'. filter
72- @@ List. map (signature_error policy ) signatures in
72+ @@ List. map (signature_error fault_handler ) signatures in
7373 units, signatures
7474
75- let load_file (io :Io.reader ) policy sig_only opens (info ,file ,n ) =
75+ let load_file (io :Io.reader ) fault_handler sig_only opens (info ,file ,n ) =
7676 let filter_m2l (u : Unit.s ) = if sig_only then
7777 { u with Unit. code = M2l.Sig_only. filter u.code }
7878 else
7979 u in
80- io.m2l policy info file n
80+ io.m2l fault_handler info file n
8181 |> filter_m2l
8282 |> open_within opens
8383
8484
85- let log_conflict policy proj (path , units ) =
86- Fault. raise policy Standard_faults. local_module_conflict
85+ let log_conflict fault_handler proj (path , units ) =
86+ Fault. raise fault_handler Standard_faults. local_module_conflict
8787 (path, List. map proj units)
8888
89- let organize io policy sig_only opens files =
90- let units, signatures = pre_organize policy io files in
91- let units = List. map (load_file io policy sig_only opens) units in
89+ let organize io fault_handler sig_only opens files =
90+ let units, signatures = pre_organize fault_handler io files in
91+ let units = List. map (load_file io fault_handler sig_only opens) units in
9292 let units, errs = Unit.Group. (split % group) @@ pair_split units in
93- List. iter (log_conflict policy @@ fun (u :Unit.s ) -> u.src ) errs;
93+ List. iter (log_conflict fault_handler @@ fun (u :Unit.s ) -> u.src ) errs;
9494 units, signatures
9595
9696
@@ -140,7 +140,7 @@ let start_env io param libs signatures fileset =
140140
141141let lift p =
142142 (module struct
143- let policy = p.policy
143+ let fault_handler = p.fault_handler
144144 let epsilon_dependencies = p.epsilon_dependencies
145145 let transparent_extension_nodes = p.transparent_extension_nodes
146146 let transparent_aliases = p.transparent_aliases
@@ -206,9 +206,9 @@ module Collisions = struct
206206 ) m units
207207
208208 (* * Print error message for a given collision map *)
209- let handle policy fault collisions =
209+ let handle fault_handler fault collisions =
210210 let err name paths () =
211- Fault. raise policy fault (name,Pkg.Set. elements paths) in
211+ Fault. raise fault_handler fault (name,Pkg.Set. elements paths) in
212212 Nms.Map. fold err collisions ()
213213
214214 (* * Compute local/local collisions *)
@@ -229,16 +229,17 @@ end
229229(* * Analysis step *)
230230let main_std io param (task :Common.task ) =
231231 let module F = Standard_faults in
232+ let is_silent f = Fault. is_silent param.fault_handler.policy f in
232233 let units, signatures =
233- organize io param.policy param.sig_only task.opens task.files in
234- if not @@ Fault. is_silent param.policy F. module_conflict then
234+ organize io param.fault_handler param.sig_only task.opens task.files in
235+ if not ( is_silent F. module_conflict) then
235236 Collisions. libs task units.mli
236- |> Collisions. handle param.policy F. module_conflict;
237+ |> Collisions. handle param.fault_handler F. module_conflict;
237238 let collisions = Collisions. local units.mli in
238239 let namespace = List. map (fun (u :Unit.s ) -> u.path) units.mli in
239240 let () =
240- if not @@ Fault. is_silent param.policy F. local_module_conflict then
241- Collisions. handle param.policy F. local_module_conflict collisions in
241+ if not ( is_silent F. local_module_conflict) then
242+ Collisions. handle param.fault_handler F. local_module_conflict collisions in
242243 let e = start_env io param task.libs signatures namespace in
243244 let {Unit. ml; mli} = solve param e units in
244245 let ml = remove_units task.invisibles ml in
@@ -248,9 +249,9 @@ let main_std io param (task:Common.task) =
248249(* * Analysis step *)
249250let main_seed io param (task :Common.task ) =
250251 let units, signatures =
251- pre_organize param.policy io task.files in
252+ pre_organize param.fault_handler io task.files in
252253 let file_list = List. map (fun (_k ,_x ,p ) -> p) units in
253- let load_file = load_file io param.policy param.sig_only task.opens in
254+ let load_file = load_file io param.fault_handler param.sig_only task.opens in
254255 let e = start_env io param task.libs signatures file_list in
255256 let units = solve_from_seeds task.seeds load_file units param e in
256257 let units = remove_units task.invisibles units in
@@ -261,7 +262,7 @@ let main_seed io param (task:Common.task) =
261262 ) { ml= [] ; mli= [] } units in
262263 let g, errs = Unit.Group. (split % group) units in
263264 List. iter
264- (log_conflict param.policy @@ fun (u :Unit.r ) -> u.src) errs;
265+ (log_conflict param.fault_handler @@ fun (u :Unit.r ) -> u.src) errs;
265266 g
266267
267268let main io param (task :Common.task ) =
0 commit comments