diff --git a/src/libraries/project/state_builder.ml b/src/libraries/project/state_builder.ml index 519505130bd580bf084dd7da1794cb95d391c33a..231dae0d4a6f80b181125d185a98c0fdcafb40be 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 f4770180a8efd00c05ccd310951dc0f511cde48d..10bbb9e968622ebbe64792f4f2c0d4ad083688c9 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 *)