Js_of_ocaml_compiler.Js_traverseclass type mapper = object ... endclass type iterator = object ... endtype t = {use : Javascript.IdentSet.t;def_var : Javascript.IdentSet.t;def_local : Javascript.IdentSet.t;}type block = | Catch of Javascript.formal_parameter| Params of Javascript.formal_parameter_list| Var_scopeA scope that anchors var declarations but has no parameters: the program top level and class static initialization blocks. Its vars do not propagate to an enclosing scope.
| Let_scopeA lexical block: it anchors block-scoped (let/const/using) bindings. Its vars hoist to the nearest enclosing Params/Var_scope scope.
class type freevar = object ... endval declared_names : Javascript.program -> Stdlib.StringSet.tclass fast_freevar : (string -> unit) -> iteratorclass rename_variable : esm:bool -> object ... endclass compact_vardecl : object ... end