From df56cfb253324fa03f954fc4df8fedffcc701b19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20B=C3=BChler?= <david.buhler@cea.fr> Date: Fri, 16 Feb 2024 14:08:52 +0100 Subject: [PATCH] [Kernel] State_builder: adds [reset] function to counters. --- src/libraries/project/state_builder.ml | 3 +++ src/libraries/project/state_builder.mli | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/src/libraries/project/state_builder.ml b/src/libraries/project/state_builder.ml index 519505130bd..231dae0d4a6 100644 --- a/src/libraries/project/state_builder.ml +++ b/src/libraries/project/state_builder.ml @@ -814,6 +814,7 @@ module Hashconsing_tbl = module type Counter = sig val next : unit -> int val get: unit -> int + val reset: unit -> unit val self: State.t end @@ -849,6 +850,7 @@ module SharedCounter(Info : sig val name : string end) = struct let next () = incr cpt ; !cpt let get () = !cpt + let reset () = cpt := 0 let self = Cpt.self end @@ -886,6 +888,7 @@ module Counter(Info : sig val name : string end) = struct let next () = incr !cpt ; !(!cpt) let get () = !(!cpt) + let reset () = !cpt := 0 let self = Cpt.self end diff --git a/src/libraries/project/state_builder.mli b/src/libraries/project/state_builder.mli index f4770180a8e..10bbb9e9686 100644 --- a/src/libraries/project/state_builder.mli +++ b/src/libraries/project/state_builder.mli @@ -507,6 +507,10 @@ module type Counter = sig (** @return the current value of the counter, without incrementing it. @since Fluorine-20130401 *) + (** Resets the counter to 0. + @since Frama-C+dev *) + val reset: unit -> unit + val self: State.t (** @since Oxygen-20120901 *) -- GitLab