Module Js_of_ocaml_compiler.Js_traverse

class type mapper = object ... end
class type iterator = object ... end
class map : mapper
class iter : iterator
type t = {
  1. use : Javascript.IdentSet.t;
  2. def_var : Javascript.IdentSet.t;
  3. def_local : Javascript.IdentSet.t;
}
type block =
  1. | Catch of Javascript.formal_parameter
  2. | Params of Javascript.formal_parameter_list
  3. | Var_scope
    (*

    A 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.

    *)
  4. | Let_scope
    (*

    A 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 ... end
class free : freevar
val declared_names : Javascript.program -> Stdlib.StringSet.t
class fast_freevar : (string -> unit) -> iterator
type scope =
  1. | Module
  2. | Script
  3. | Lexical_block
  4. | Fun_block of Javascript.ident option
class rename_variable : esm:bool -> object ... end
val share_constant : Javascript.program -> Javascript.program
class compact_vardecl : object ... end
class clean : mapper
class simpl : mapper