aboutsummaryrefslogtreecommitdiff
path: root/engine/namegen.ml
diff options
context:
space:
mode:
authorEmilio Jesus Gallego Arias2020-04-07 22:01:05 -0400
committerEmilio Jesus Gallego Arias2020-04-07 22:01:05 -0400
commit847a42618bc0ff267e5912c6c8f8365f29b158b4 (patch)
treeb8e390eb0e5d57ddb170e11c4ec84afee96cde43 /engine/namegen.ml
parent100c3abd7e5160a5dd5ee08099966d3b342078cd (diff)
parent5c5fbf68034fdd18ddfcd19c9c8b1438af6b5c92 (diff)
Merge PR #11997: Clean and fix definitions of options.
Reviewed-by: Matafou Ack-by: SkySkimmer Reviewed-by: ejgallego Reviewed-by: gares Ack-by: jfehrle
Diffstat (limited to 'engine/namegen.ml')
-rw-r--r--engine/namegen.ml32
1 files changed, 16 insertions, 16 deletions
diff --git a/engine/namegen.ml b/engine/namegen.ml
index 370f35f6ed..c4472050f8 100644
--- a/engine/namegen.ml
+++ b/engine/namegen.ml
@@ -219,22 +219,22 @@ let get_mangle_names =
~key:["Mangle";"Names"]
~value:false
-let mangle_names_prefix = ref (Id.of_string "_0")
-
-let set_prefix x = mangle_names_prefix := forget_subscript x
-
-let () = Goptions.(
- declare_string_option
- { optdepr = false;
- optkey = ["Mangle";"Names";"Prefix"];
- optread = (fun () -> Id.to_string !mangle_names_prefix);
- optwrite = begin fun x ->
- set_prefix
- (try Id.of_string x
- with CErrors.UserError _ -> CErrors.user_err Pp.(str ("Not a valid identifier: \"" ^ x ^ "\".")))
- end })
-
-let mangle_id id = if get_mangle_names () then !mangle_names_prefix else id
+let mangle_names_prefix =
+ Goptions.declare_interpreted_string_option_and_ref
+ ~depr:false
+ ~key:["Mangle";"Names";"Prefix"]
+ ~value:(Id.of_string "_0")
+ (fun x ->
+ (try
+ Id.of_string x
+ with
+ | CErrors.UserError _ ->
+ CErrors.user_err Pp.(str ("Not a valid identifier: \"" ^ x ^ "\"."))
+ ) |> forget_subscript
+ )
+ (fun x -> Id.to_string x)
+
+let mangle_id id = if get_mangle_names () then mangle_names_prefix () else id
(* Looks for next "good" name by lifting subscript *)