Ast.ScopeDef
Inside a scope, a definition can refer to a variable (possibly an intermediate state thereof) or an input of a subscope.
type kind =
| Var of Shared_ast.StateName.t option
| SubScopeInput of {
name : Shared_ast.ScopeName.t;
var_within_origin_scope : Shared_ast.ScopeVar.t;
}
val format_kind : Stdlib.Format.formatter -> kind -> unit
val hash_kind : strip:Catala_utils.Uid.Path.t -> kind -> Catala_utils.Hash.t
type t = Shared_ast.ScopeVar.t Catala_utils.Mark.pos * kind
val get_position : t -> Catala_utils.Pos.t
val format : Stdlib.Format.formatter -> t -> unit
val hash : strip:Catala_utils.Uid.Path.t -> t -> Catala_utils.Hash.t
module Map : Catala_utils.Map.S with type key = t