Up

module Js_traverse

: sig
#
class type mapper =
#
method expression : Javascript.expression -> Javascript.expression
#
method expression_o : Javascript.expression option -> Javascript.expression option
#
method switch_case : Javascript.expression -> Javascript.expression
#
method initialiser_o : (Javascript.expression * Javascript.location) option -> (Javascript.expression * Javascript.location) option
#
method statement : Javascript.statement -> Javascript.statement
#
method statement_o : (Javascript.statement * Javascript.location) option -> (Javascript.statement * Javascript.location) option
#
method ident : Javascript.ident -> Javascript.ident
#
method program : Javascript.program -> Javascript.program
#
class map : mapper
#
class subst : Javascript.ident -> Javascript.ident ->
inherit mapper
#
type t = {
# use_name
: Util.StringSet.t;
# def_name
: Util.StringSet.t;
# def
: Code.VarSet.t;
# use
: Code.VarSet.t;
# count
: int Javascript.IdentMap.t;
}
#
class type freevar = ('a)
inherit mapper
#
method merge_info : 'a -> unit
#
method block : ?catch:bool -> Javascript.ident list -> unit
#
method def_var : Javascript.ident -> unit
#
method use_var : Javascript.ident -> unit
#
method state : t
#
method get_free_name : Util.StringSet.t
#
method get_free : Code.VarSet.t
#
method get_def_name : Util.StringSet.t
#
method get_def : Code.VarSet.t
#
method get_use_name : Util.StringSet.t
#
method get_use : Code.VarSet.t
#
class free : freevar
#
class rename_variable : Util.StringSet.t -> freevar
#
class share_constant : mapper
#
class compact_vardecl : ('a)
inherit free
#
method exc : Javascript.IdentSet.t
#
class clean : mapper
#
class simpl : mapper
end