Module Js_of_ocaml_compiler__Flow

type def =
| Phi of Js_of_ocaml_compiler.Code.Var.Set.t
| Expr of Js_of_ocaml_compiler.Code.expr
| Param
type info = {
info_defs : def array;
info_known_origins : Js_of_ocaml_compiler.Code.Var.Set.t Js_of_ocaml_compiler.Code.Var.Tbl.t;
info_maybe_unknown : bool Js_of_ocaml_compiler.Code.Var.Tbl.t;
info_possibly_mutable : bool array;
}
val get_approx : info -> (Js_of_ocaml_compiler.Code.Var.Set.elt -> 'b) -> 'b -> ('b -> 'b -> 'b) -> Js_of_ocaml_compiler.Code.Var.Tbl.key -> 'b
val the_def_of : info -> Js_of_ocaml_compiler.Code.prim_arg -> Js_of_ocaml_compiler.Code.expr option
val the_const_of : info -> Js_of_ocaml_compiler.Code.prim_arg -> Js_of_ocaml_compiler.Code.constant option
val the_string_of : info -> Js_of_ocaml_compiler.Code.prim_arg -> string option
val the_int : info -> Js_of_ocaml_compiler.Code.prim_arg -> int32 option
val update_def : info -> Js_of_ocaml_compiler.Code.Var.t -> Js_of_ocaml_compiler.Code.expr -> unit
val f : ?⁠skip_param:bool -> Js_of_ocaml_compiler.Code.program -> Js_of_ocaml_compiler.Code.program * info