diff --git a/src/string_with_vars.ml b/src/string_with_vars.ml index 66aca1c7..1f8e1648 100644 --- a/src/string_with_vars.ml +++ b/src/string_with_vars.ml @@ -204,6 +204,8 @@ module Var = struct | None -> Single name | Some p -> Pair (name, p) + let name { name; _ } = name + let full_name t = match destruct t with | Single s -> s diff --git a/src/string_with_vars.mli b/src/string_with_vars.mli index 3bf6ee5b..d5c73ddc 100644 --- a/src/string_with_vars.mli +++ b/src/string_with_vars.mli @@ -53,6 +53,7 @@ module Var : sig val sexp_of_t : t -> Sexp.t + val name : t -> string val loc : t -> Loc.t val full_name : t -> string diff --git a/src/super_context.ml b/src/super_context.ml index 4649fbf6..15eadc98 100644 --- a/src/super_context.ml +++ b/src/super_context.ml @@ -231,11 +231,7 @@ end = struct let static_vars = String.Table.of_list_exn static_vars let rec expand t ~syntax_version ~var = - let name = - match String_with_vars.Var.destruct var with - | Single v -> v - | Pair (v, _) -> v - in + let name = String_with_vars.Var.name var in Option.bind (String.Table.find t name) ~f:(function | Nothing v -> Some v | Since (v, min_version) ->