Move the type [location] and the values [noloc], [string_of_location] and [line_directive_of_location] to [Utils]. Straightforward code motion, no change in functionality. --- generator/state_machine.ml | 12 +++--------- generator/state_machine.mli | 7 +------ generator/utils.ml | 7 +++++++ generator/utils.mli | 6 ++++++ 4 files changed, 17 insertions(+), 15 deletions(-)
diff --git a/generator/state_machine.ml b/generator/state_machine.ml index d3edef4c9..3bc77f242 100644 --- a/generator/state_machine.ml +++ b/generator/state_machine.ml @@ -48,9 +48,6 @@ let string_of_external_event = function | CmdConnectSocket -> "CmdConnectSocket" | CmdIssue -> "CmdIssue" -type location = string * int -let noloc = ("", 0) - type state = { name : string; comment : string; @@ -61,7 +58,7 @@ and parsed_state = { prefix : string list; display_name : string; state_enum : string; - loc : location; + loc : Utils.location; code : string; internal_transitions : state list; events : (external_event * state) list; @@ -69,7 +66,8 @@ and parsed_state = { let default_state = { name = ""; comment = ""; external_events = []; parsed = { prefix = []; display_name = ""; - state_enum = ""; loc = noloc; code = ""; + state_enum = ""; loc = Utils.noloc; + code = ""; internal_transitions = []; events = [] } } type state_machine = state_group list @@ -878,7 +876,3 @@ and structured_reply_state_machine = [ external_events = []; }; ] - -let string_of_location (file, lineno) = sprintf "%s:%d" file lineno -let line_directive_of_location (file, lineno) = - sprintf "#line %d \"%s\"" lineno file diff --git a/generator/state_machine.mli b/generator/state_machine.mli index 4e387e3ea..020225f84 100644 --- a/generator/state_machine.mli +++ b/generator/state_machine.mli @@ -80,11 +80,6 @@ type external_event = val all_external_events : external_event list val string_of_external_event : external_event -> string -type location = string * int (** source location: file, line number *) -val noloc : location -val string_of_location : location -> string -val line_directive_of_location : location -> string - type state = { (** The state name (without prefix). If this has the special name "START" then it is the start state of the current group. Each @@ -117,7 +112,7 @@ and parsed_state = { state_enum : string; (** The C code implementing this state. *) - loc : location; + loc : Utils.location; code : string; (** Internal transitions, parsed out of the C code. *) diff --git a/generator/utils.ml b/generator/utils.ml index c326c0364..b8f394ce2 100644 --- a/generator/utils.ml +++ b/generator/utils.ml @@ -20,6 +20,9 @@ open Printf open Unix +type location = string * int +let noloc = ("", 0) + let failwithf fs = ksprintf failwith fs let rec filter_map f = function @@ -190,6 +193,10 @@ let pr_wrap ?(maxcol = 76) c code = *) pr "%s" (String.concat "\n" rest) +let string_of_location (file, lineno) = sprintf "%s:%d" file lineno +let line_directive_of_location (file, lineno) = + sprintf "#line %d \"%s\"" lineno file + type comment_style = | CStyle | CPlusPlusStyle | HashStyle | OCamlStyle | HaskellStyle | PODCommentStyle diff --git a/generator/utils.mli b/generator/utils.mli index b559baf76..c6ed61ce0 100644 --- a/generator/utils.mli +++ b/generator/utils.mli @@ -29,6 +29,8 @@ type comment_style = type chan = NoOutput | OutChannel of out_channel | Buffer of Buffer.t +type location = string * int (** source location: file, line number *) + val failwithf : ('a, unit, string, 'b) format4 -> 'a val filter_map : ('a -> 'b option) -> 'a list -> 'b list @@ -51,6 +53,10 @@ val output_to : string -> (unit -> 'a) -> unit val pr : ('a, unit, string, unit) format4 -> 'a val pr_wrap : ?maxcol:int -> char -> (unit -> 'a) -> unit +val noloc : location +val string_of_location : location -> string +val line_directive_of_location : location -> string + type cache_key = string type cache_value = string list val pod2text : cache_key -> cache_value -- 2.32.0 _______________________________________________ Libguestfs mailing list Libguestfs@redhat.com https://listman.redhat.com/mailman/listinfo/libguestfs