@@ -126,7 +126,13 @@ module Make (Domain : Composite_domain.Composite_domain) = struct
126126 in
127127 error, dynamic
128128
129- let main ?patch parameters log_info error mvbdu_handler compil kappa_handler =
129+ let main ?do_not_restart_fixpoint_computation ?patch parameters log_info error mvbdu_handler compil kappa_handler =
130+ let do_increment =
131+ match do_not_restart_fixpoint_computation with
132+ | None | Some false -> true
133+ | Some true -> false
134+ in
135+
130136 let domain_event, global_event, init_event, analysis_event, new_elts =
131137 match patch with
132138 | None ->
@@ -186,6 +192,7 @@ module Make (Domain : Composite_domain.Composite_domain) = struct
186192 let error, dynamic =
187193 close_event parameters error global_event None dynamic
188194 in
195+ if do_increment then
189196 let error, dynamic = add_event parameters error init_event None dynamic in
190197 let error, dynamic, _ =
191198 List. fold_left
@@ -288,6 +295,10 @@ module Make (Domain : Composite_domain.Composite_domain) = struct
288295 (Domain. get_global_dynamic_information dynamic)
289296 in
290297 error, log_info, (global_static, static), dynamic
298+ else
299+ let error,() =
300+ Exception. warn parameters error __POS__ ~message: " Iterations have not been restarted" Exit () in
301+ error, log_info, (global_static, static), dynamic
291302
292303 let update_main ?do_not_restart_fixpoint_computation
293304 parameters log_info error mvbdu_handler compil kappa_handler
@@ -297,27 +308,16 @@ module Make (Domain : Composite_domain.Composite_domain) = struct
297308 static_information,
298309 dynamic_information )
299310 Remanent_state.state ) =
300- let do_increment =
301- match do_not_restart_fixpoint_computation with
302- | None | Some false -> true
303- | Some true -> false
304- in
305311 let patch =
306312 match Remanent_state. get_reachability_result state with
307313 | None -> None
308314 | Some (static , dynamic ) -> Some (static, dynamic, new_indexs)
309315 in
310316 match patch with
311317 | None -> main ?patch parameters log_info error mvbdu_handler compil kappa_handler
312- | Some (static , dynamic ,_ ) ->
313- if do_increment then
314- main ?patch parameters log_info error mvbdu_handler compil kappa_handler
315- else
316- let log = Remanent_parameters. get_logger parameters in
317- let error,() =
318- Exception. warn parameters error __POS__ ~message: " Iterations have not been restarted" Exit () in
319- let error, dynamic = print (snd static) dynamic error log in
320- error, log_info, static, dynamic
318+ | Some _ ->
319+ main ?do_not_restart_fixpoint_computation ?patch parameters log_info error mvbdu_handler compil kappa_handler
320+
321321 let main parameters log_info error mvbdu_handler compil kappa_handler =
322322 main parameters log_info error mvbdu_handler compil kappa_handler
323323
0 commit comments