Simplify some checks with an is_form function
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
This commit is contained in:
parent
44dc0394b8
commit
f95c9e01d5
|
@ -219,6 +219,8 @@ module Var = struct
|
||||||
|
|
||||||
let rename t ~new_name =
|
let rename t ~new_name =
|
||||||
{ t with name = new_name }
|
{ t with name = new_name }
|
||||||
|
|
||||||
|
let is_form t = Option.is_some t.payload
|
||||||
end
|
end
|
||||||
|
|
||||||
let partial_expand
|
let partial_expand
|
||||||
|
|
|
@ -66,6 +66,8 @@ module Var : sig
|
||||||
val to_string : t -> string
|
val to_string : t -> string
|
||||||
|
|
||||||
val rename : t -> new_name:string -> t
|
val rename : t -> new_name:string -> t
|
||||||
|
|
||||||
|
val is_form : t -> bool
|
||||||
end
|
end
|
||||||
|
|
||||||
val expand
|
val expand
|
||||||
|
|
|
@ -321,24 +321,18 @@ let find_scope_by_dir t dir = Scope.DB.find_by_dir t.scopes dir
|
||||||
let find_scope_by_name t name = Scope.DB.find_by_name t.scopes name
|
let find_scope_by_name t name = Scope.DB.find_by_name t.scopes name
|
||||||
|
|
||||||
let expand_vars t ~syntax_version ~var : Var.Kind.t option =
|
let expand_vars t ~syntax_version ~var : Var.Kind.t option =
|
||||||
begin match String_with_vars.Var.destruct var with
|
if String_with_vars.Var.is_form var then
|
||||||
| Single _ -> ()
|
|
||||||
| Pair (_, _) ->
|
|
||||||
Exn.code_error "expand_vars can't expand forms"
|
Exn.code_error "expand_vars can't expand forms"
|
||||||
[ "var", String_with_vars.Var.sexp_of_t var
|
[ "var", String_with_vars.Var.sexp_of_t var ]
|
||||||
]
|
else
|
||||||
end;
|
Var.Map.expand t.vars ~syntax_version ~var
|
||||||
Var.Map.expand t.vars ~syntax_version ~var
|
|
||||||
|
|
||||||
let expand_form t ~syntax_version ~var =
|
let expand_form t ~syntax_version ~var =
|
||||||
begin match String_with_vars.Var.destruct var with
|
if String_with_vars.Var.is_form var then
|
||||||
| Pair (_, _) -> ()
|
Var.Map.expand t.forms ~syntax_version ~var
|
||||||
| Single _ ->
|
else
|
||||||
Exn.code_error "expand_vars can't expand single variables"
|
Exn.code_error "expand_vars can't expand single variables"
|
||||||
[ "var", String_with_vars.Var.sexp_of_t var
|
[ "var", String_with_vars.Var.sexp_of_t var ]
|
||||||
]
|
|
||||||
end;
|
|
||||||
Var.Map.expand t.forms ~syntax_version ~var
|
|
||||||
|
|
||||||
let (expand_vars_string, expand_vars_path) =
|
let (expand_vars_string, expand_vars_path) =
|
||||||
let expand t ~scope ~dir ?(extra_vars=String.Map.empty) s =
|
let expand t ~scope ~dir ?(extra_vars=String.Map.empty) s =
|
||||||
|
|
Loading…
Reference in New Issue