Module Ocamljs.Inline.Jslib_ast


module Jslib_ast: sig .. end

type loc = unit 

type unop =
| Jdelete
| Jvoid
| Jtypeof
| Jadd2_pre
| Jsub2_pre
| Jadd_pre
| Jsub_pre
| Jtilde
| Jnot
| Jadd2_post
| Jsub2_post

type binop =
| Jhashref
| Jmul
| Jdiv
| Jmod
| Jadd
| Jsub
| Jlt
| Jgt
| Jleq
| Jgeq
| Jlsr
| Jlsl
| Jasr
| Jeq
| Jneq
| Jinstanceof
| Jseq
| Jsneq
| Jland
| Jlor
| Jand
| Jxor
| Jor
| Jcomma
| Jassign
| Jmul_assign
| Jdiv_assign
| Jmod_assign
| Jadd_assign
| Jsub_assign
| Jlsl_assign
| Jlsr_assign
| Jasr_assign
| Jand_assign
| Jxor_assign
| Jor_assign

type exp =
| Jthis of loc
| Jvar of loc * string
| Jarray of loc * exp
| Jobject of loc
* (exp * exp) list
| Jstring of loc * string * bool
| Jnum of loc * string
| Jnull of loc
| Jbool of loc * bool
| Jregexp of loc * string * string
| Jfun of loc * string option * string list
* stmt
| Jfieldref of loc * exp * string
| Junop of loc * unop
* exp
| Jbinop of loc * binop
* exp * exp
| Jite of loc * exp
* exp * exp
| Jcall of loc * exp
* exp
| Jnew of loc * exp
* exp option
| Jexp_nil of loc
| Jexp_cons of loc * exp
* exp
| Jexp_Ant of loc * string

type stmt =
| Jvars of loc
* (string * exp option) list
| Jfuns of loc * string * string list
* stmt
| Jreturn of loc * exp option
| Jcontinue of loc * string option
| Jbreak of loc * string option
| Jswitch of loc * exp
* (exp * stmt) list
* stmt
| Jites of loc * exp
* stmt * stmt option
| Jthrow of loc * exp
| Jexps of loc * exp
| Jtrycatch of loc * stmt
* (string * stmt) option
* stmt
| Jfor of loc
* (string * exp option) list
* exp option
* exp option
* exp option * stmt
| Jdowhile of loc * stmt
* exp
| Jwhile of loc * exp
* stmt
| Jblock of loc * stmt
| Jwith of loc * exp
* stmt
| Jlabel of loc * string * stmt
| Jstmt_nil of loc
| Jstmt_cons of loc * stmt
* stmt
| Jstmt_Ant of loc * string