Values

EBinop(op:String, e1:Expr, e2:Expr)

EUnop(op:String, prefix:Bool, e:Expr)

ECall(e:Expr, params:Array<Expr>)

EIf(cond:Expr, e1:Expr, e2:Expr)

EWhile(cond:Expr, e:Expr)

EFor(v:String, it:Expr, e:Expr)

EFunction(args:Array<Argument>, e:Expr, name:String, ret:CType)

EArray(e:Expr, index:Expr)

ENew(cl:String, params:Array<Expr>)

ETry(e:Expr, v:String, t:Null<CType>, ecatch:Expr)

EObject(fl:Array<{name:String, e:Expr}>)

ETernary(cond:Expr, e1:Expr, e2:Expr)

ESwitch(e:Expr, cases:Array<{values:Array<Expr>, expr:Expr}>, defaultExpr:Expr)

EDoWhile(cond:Expr, e:Expr)

EMeta(name:String, args:Array<Expr>, e:Expr)