earlgrey
Version:
Programming language compiling to JavaScript, featuring macros, dynamic typing annotations and pattern matching.
4 lines (2 loc) • 37.1 kB
JavaScript
'use strict';require('earlgrey-runtime/5');var $targ$7=void 0;var accum$0=void 0;var $targ$8=void 0;var accum$1=void 0;var $targ$9=void 0;var $0$0=void 0;var gensym$0=void 0;var Body$0=void 0;var $1$0=void 0;var __lt____gt__$0=void 0;var $2$0=void 0;var jsKeywords$0=void 0;var join$0=void 0;var js_op_table2$0=void 0;var js_op_table$0=void 0;var Translator$0=void 0;$0$0=require("./util");gensym$0=getProperty($0$0,"gensym","./util");Body$0=getProperty($0$0,"Body","./util");$1$0=require("./pp");__lt____gt__$0=getProperty($1$0,"<>","./pp");$2$0=require("./expand");jsKeywords$0=getProperty($2$0,"jsKeywords","./expand");join$0=function join(things$0,sep$0){var m$0=void 0;var acc$0=void 0;var temp$0=void 0;acc$0=[];temp$0=null;m$0=null;var _iteratorNormalCompletion=true;var _didIteratorError=false;var _iteratorError=undefined;try{$3:for(var _iterator=enumerate(things$0)[Symbol.iterator](),_step;!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=true){m$0=_step.value;var ph$0$0=void 0;var x$0=void 0;var t0$0=void 0;var t1$0=void 0;t0$0=m$0;if(Array.isArray(t0$0)&&(t1$0=t0$0.length,t1$0===2)){ph$0$0=t0$0[0];x$0=t0$0[1];if(ph$0$0===0){temp$0=x$0;}else{temp$0=[",",x$0];}acc$0.push(temp$0);}else{___match_error(m$0);}}}catch(err){_didIteratorError=true;_iteratorError=err;}finally{try{if(!_iteratorNormalCompletion&&_iterator.return){_iterator.return();}}finally{if(_didIteratorError){throw _iteratorError;}}}return acc$0;};js_op_table2$0={"+":"+","-":"-","*":"*","/":"/","mod":"%","&+":"&","|+":"|","^+":"^","~":"~","and":"&&","or":"||","not":"!","==":"===","!=":"!==","===":"===","!==":"!==","<":"<",">":">","<=":"<=",">=":">=","<<":"<<",">>":">>",">>>":">>>","instanceof":" instanceof ","++":"++","--":"--"};js_op_table$0={"___plus":"+","___minus":"-","___times":"*","___div":"/","___mod":"%","___binxor":"^","___binand":"&","___binor":"|","___binnot":"~","___and":"&&","___or":"||","___not":"!","___is":"===","___isnt":"!==","___eq":"===","___neq":"!==","___lt":"<","___gt":">","___lte":"<=","___gte":">=","___shl":"<<","___shr":">>","___shr2":">>>","___in":" in ","___instanceof":" instanceof ","___plusplus":"++","___minusminus":"--"};Translator$0=function Translator(){var m$2$0=void 0;var $targ$0=void 0;var $targ$1=void 0;var prelude$0=void 0;var t0$1=void 0;var m$1$0=void 0;var __at___$0=void 0;if(!getChecker(Translator$0)(this)){__at___$0=Object.create(Translator$0.prototype);}else{__at___$0=this;}m$1$0=arguments;t0$1=m$1$0.length;if(t0$1>=0&&t0$1<=2){if(0>=t0$1){prelude$0=null;}else{prelude$0=m$1$0[0];}__at___$0["globvar"]=1>=t0$1?null:m$1$0[1];$targ$0={};__at___$0["cache"]=$targ$0;$targ$1=[];__at___$0["prepend"]=$targ$1;m$2$0=prelude$0;if(m$2$0===null){undefined;}else{if(typeof m$2$0==="string"){__at___$0.prepend.push(prelude$0);}else{__at___$0.prepend.push(__at___$0.translate(___serialize_ast(prelude$0),"stmt"));}}}else{___match_error(m$1$0,"{prelude = null, @globvar = null}");}return __at___$0;};Translator$0.prototype["register_value"]=function register_value(v$0,id$0){var x$1=void 0;var temp$1=void 0;var $targ$2=void 0;var name$0=void 0;var m$3$0=void 0;var __at___$1=void 0;var self$0=void 0;__at___$1=this;self$0=this;m$3$0=send(send(__at___$1,"cache",true),id$0);if(m$3$0===void 0){temp$1=["symbol",gensym$0()];$targ$2=temp$1;__at___$1.cache[id$0]=$targ$2;x$1=["declare",temp$1,___serialize_ast(v$0)];__at___$1.prepend.push(__at___$1.translate(x$1,"stmt"));return temp$1;}else{name$0=m$3$0;return name$0;}};Translator$0.prototype["register_raw"]=function register_raw(raw$0,id$1){var x$2=void 0;var temp$2=void 0;var $targ$3=void 0;var name$1=void 0;var m$4$0=void 0;var __at___$2=void 0;var self$1=void 0;__at___$2=this;self$1=this;m$4$0=send(send(__at___$2,"cache",true),id$1);if(m$4$0===void 0){temp$2=["symbol",gensym$0()];$targ$3=temp$2;__at___$2.cache[id$1]=$targ$3;x$2=["declare",temp$2,["raw",raw$0]];__at___$2.prepend.push(__at___$2.translate(x$2,"stmt"));return temp$2;}else{name$1=m$4$0;return name$1;}};Translator$0.prototype["dump_store"]=function dump_store(){var rval$0=void 0;var $targ$4=void 0;var __at___$3=void 0;var self$2=void 0;__at___$3=this;self$2=this;rval$0=__at___$3.prepend.join("\n");$targ$4=[];__at___$3["prepend"]=$targ$4;return rval$0;};Translator$0.prototype["mangle"]=function mangle(name$2){var i$0=void 0;var tr$0=void 0;var r$0=void 0;var __at___$4=void 0;var self$3=void 0;__at___$4=this;self$3=this;tr$0={"+":"__plus__","-":"__minus__","*":"__asterisk__","/":"__slash__","%":"__percent__","^":"__caret__","#":"__hash__","&":"__amp__","|":"__pipe__","@":"__at__","!":"__bang__","?":"__qmark__","=":"__equal__","<":"__lt__",">":"__gt__","~":"__tilde__",".":"__dot__",":":"__colon__","'":"__quote__"};r$0=[];i$0=0;$4:for(null;i$0<name$2.length;++i$0){var c$0=void 0;c$0=send(name$2,i$0);r$0.push(send(tr$0,c$0)||c$0);}return r$0.join("");};Translator$0.prototype["body"]=function body(orig$0,mode$0){var t0$2=void 0;var t1$1=void 0;var t2$0=void 0;var x$3=void 0;var stmts$0=void 0;var ret$0=void 0;var m$6=void 0;var acc$1=void 0;var temp$3=void 0;var stmts$1=void 0;var ret$1=void 0;var other$0=void 0;var variable$0=void 0;var t0$3=void 0;var m$5$0=void 0;var $targ$5=void 0;var b$0=void 0;var trst$0=void 0;var __at___$5=void 0;var self$4=void 0;__at___$5=this;self$4=this;$targ$5=orig$0;t0$2=getProjector(Body$0)($targ$5);if(t0$2[0]&&(t1$1=t0$2[1],t2$0=t1$1.length,t2$0>=0)){b$0=Array.prototype.slice.call(t1$1,0);}else{___match_error($targ$5,"Body! {*b}");}trst$0=function trst(stmt$0){return __at___$5.translate(stmt$0,"stmt");};m$5$0=mode$0;if(m$5$0==="expr"){x$3=["send",["lambda",[],orig$0],["array"]];return __at___$5.translate(x$3,mode$0);}else{if(m$5$0==="return"){stmts$0=b$0.slice(0,-1);ret$0=send(b$0,b$0.length-1);return ENode(["splice"],{},[stmts$0.map(trst$0),__at___$5.translate(ret$0,"return")]);}else{if(m$5$0==="stmt"){return ENode(["splice"],{},(acc$1=[],temp$3=null,m$6=null,function(){var _iteratorNormalCompletion2=true;var _didIteratorError2=false;var _iteratorError2=undefined;try{$5:for(var _iterator2=b$0[Symbol.iterator](),_step2;!(_iteratorNormalCompletion2=(_step2=_iterator2.next()).done);_iteratorNormalCompletion2=true){m$6=_step2.value;var x$4=void 0;x$4=m$6;temp$3=trst$0(x$4);acc$1.push(temp$3);}}catch(err){_didIteratorError2=true;_iteratorError2=err;}finally{try{if(!_iteratorNormalCompletion2&&_iterator2.return){_iterator2.return();}}finally{if(_didIteratorError2){throw _iteratorError2;}}}}(),acc$1));}else{if(Array.isArray(m$5$0)&&(t0$3=m$5$0.length,t0$3===2&&m$5$0[0]==="return")){variable$0=m$5$0[1];stmts$1=b$0.slice(0,-1);ret$1=send(b$0,b$0.length-1);return ENode(["splice"],{},[stmts$1.map(trst$0),__at___$5.translate(ret$1,mode$0)]);}else{other$0=m$5$0;throw ErrorFactory(["syntax","mode"]).create("Unknown translate mode",{"mode":mode$0});}}}}};Translator$0.prototype["expr"]=function expr(x$5,temp$4$0){var t0$4=void 0;var other$1=void 0;var variable$1=void 0;var t0$5=void 0;var t1$2=void 0;var mode$1=void 0;var ph$1$0=void 0;var __at___$6=void 0;var self$5=void 0;__at___$6=this;self$5=this;t0$4=temp$4$0;mode$1=t0$4;ph$1$0=t0$4;if(ph$1$0==="expr"){return x$5;}else{if(ph$1$0==="stmt"){return ENode(["splice"],{},[x$5,";"]);}else{if(ph$1$0==="return"){return ENode(["splice"],{},["return ",x$5,";"]);}else{t0$5=ph$1$0;t1$2=t0$5.length;if(t1$2===2&&t0$5[0]==="return"){variable$1=t0$5[1];return ENode(["splice"],{},[variable$1,"=",x$5,";"]);}else{other$1=ph$1$0;throw ErrorFactory(["syntax","mode"]).create("Unknown translate mode",{"mode":mode$1});}}}}};Translator$0.prototype["op"]=function op(op$0,a$0,b$1){var $$29962$0=void 0;var $$29963$0=void 0;var $$29964$0=void 0;var t0$6=void 0;var t1$3=void 0;var t2$1=void 0;var m$7$0=void 0;var e$0=void 0;var __at___$7=void 0;var self$6=void 0;__at___$7=this;self$6=this;m$7$0=[a$0,b$1];if(($$29962$0=Array.isArray(m$7$0))&&(t0$6=m$7$0.length,($$29964$0=t0$6===2)&&(t1$3=m$7$0[0],Array.isArray(t1$3)&&(t2$1=t1$3.length,t2$1===1&&t1$3[0]==="void")))){m$7$0[1];e$0=ENode(["splice"],{},[op$0,__at___$7.translate(b$1,"expr")]);}else{if($$29964$0&&(m$7$0[0],t1$3=m$7$0[1],Array.isArray(t1$3)&&(t2$1=t1$3.length,t2$1===1&&t1$3[0]==="void"))){e$0=ENode(["splice"],{},[__at___$7.translate(a$0,"expr"),op$0]);}else{e$0=ENode(["splice"],{},[__at___$7.translate(a$0,"expr"),op$0,__at___$7.translate(b$1,"expr")]);}}return ENode(["splice"],{},["(",e$0,")"]);};Translator$0.prototype["translate"]=function translate(){var repl$0=void 0;var __at___$12=void 0;var __at___$11=void 0;var __at___$10=void 0;var __at___$9=void 0;var bridge$$30144$0=void 0;var bridge$$30143$0=void 0;var other$2=void 0;var id$2=void 0;var bridge$$30142$0=void 0;var m$11$0=void 0;var r$1=void 0;var t0$9=void 0;var t0$10=void 0;var x$6=void 0;var x$9=void 0;var x$8=void 0;var m$14$0=void 0;var x$7=void 0;var x$10=void 0;var otherwise$0=void 0;var m$13$0=void 0;var x$12=void 0;var x$11=void 0;var $$30357$0=void 0;var $$30358$0=void 0;var $$30359$0=void 0;var t0$11=void 0;var m$15$0=void 0;var m$16=void 0;var acc$2=void 0;var temp$5=void 0;var x$13=void 0;var op$1=void 0;var x$15=void 0;var codevar$0=void 0;var m$17=void 0;var acc$3=void 0;var temp$6=void 0;var r$2=void 0;var f$5=void 0;var m$18=void 0;var acc$4=void 0;var temp$9=void 0;var v$3=void 0;var all_strings$0=void 0;var r$3=void 0;var m$19$0=void 0;var m$20=void 0;var acc$5=void 0;var temp$10=void 0;var r$4=void 0;var name$3=void 0;var x$20=void 0;var other$4=void 0;var x$21=void 0;var other$5=void 0;var bridge$$30065$0=void 0;var x$22=void 0;var other$6=void 0;var bridge$$30064$0=void 0;var bridge$$30070$0=void 0;var x$23=void 0;var other$7=void 0;var bridge$$30069$0=void 0;var x$24=void 0;var x$25=void 0;var core$0=void 0;var m$21$0=void 0;var flatten$0=void 0;var m$24=void 0;var acc$6=void 0;var temp$11=void 0;var m$25=void 0;var acc$7=void 0;var temp$12=void 0;var m$26=void 0;var acc$8=void 0;var temp$13=void 0;var xs$0=void 0;var m$22$0=void 0;var all_args$0=void 0;var args$3=void 0;var isdecl$0=void 0;var x$32=void 0;var m$27=void 0;var acc$9=void 0;var temp$14=void 0;var decls$0=void 0;var x$33=void 0;var x$34=void 0;var x$35=void 0;var y$3=void 0;var t0$20=void 0;var t1$10=void 0;var m$28$0=void 0;var other$10=void 0;var other$11=void 0;var other$12=void 0;var other$13=void 0;var other$14=void 0;var t0$21=void 0;var m$29$0=void 0;var m$30=void 0;var acc$10=void 0;var temp$15=void 0;var r$5=void 0;var is__minus__super$0=void 0;var t0$23=void 0;var t0$24=void 0;var other$15=void 0;var m$33$0=void 0;var other$16=void 0;var t0$25=void 0;var m$32$0=void 0;var r$6=void 0;var other$17=void 0;var x$39=void 0;var attempt$0=void 0;var v$6=void 0;var body$8=void 0;var finally$1=void 0;var name$4=void 0;var super$1=void 0;var mthds$0=void 0;var x$38=void 0;var y$6=void 0;var body$6=void 0;var ph$11$0=void 0;var x$37=void 0;var y$5=void 0;var body$5=void 0;var ph$10$0=void 0;var x$36=void 0;var y$4=void 0;var z$0=void 0;var body$4=void 0;var ph$9$0=void 0;var test$2=void 0;var body$3=void 0;var ph$8$0=void 0;var label$2=void 0;var body$2=void 0;var ph$7$0=void 0;var value$5=void 0;var ph$6$0=void 0;var value$4=void 0;var all$0=void 0;var value$3=void 0;var label$1=void 0;var label$0=void 0;var value$2=void 0;var vars$0=void 0;var body$1=void 0;var s$2=void 0;var args$5=void 0;var _args$0=void 0;var lhs$0=void 0;var rhs$1=void 0;var obj$0=void 0;var msg$3=void 0;var rhs$0=void 0;var binding$1=void 0;var value$0=void 0;var ph$5$0=void 0;var binding$0=void 0;var ph$4$0=void 0;var test$1=void 0;var pos$1=void 0;var neg$0=void 0;var ph$3$0=void 0;var test$0=void 0;var pos$0=void 0;var ph$2$0=void 0;var bindings$0=void 0;var body$0=void 0;var generator$0=void 0;var args$2=void 0;var args$1=void 0;var f$4=void 0;var msg$2=void 0;var f$3=void 0;var args$0=void 0;var f$2=void 0;var msg$1=void 0;var s$1=void 0;var f$1=void 0;var msg$0=void 0;var f$0=void 0;var v$1=void 0;var s$0=void 0;var $$30108$0=void 0;var $$30109$0=void 0;var $$30110$0=void 0;var $$30111$0=void 0;var $$30112$0=void 0;var t0$8=void 0;var t1$4=void 0;var t2$2=void 0;var t3$0=void 0;var t4$0=void 0;var bridge$$30049$0=void 0;var bridge$$30105$0=void 0;var m$10$0=void 0;var $targ$6=void 0;var n$0=void 0;var m$9$0=void 0;var rval$1=void 0;var expr$0=void 0;var mode$2=void 0;var called$0=void 0;var t0$7=void 0;var m$8$0=void 0;var __at___$8=void 0;var self$7=void 0;__at___$8=this;self$7=this;m$8$0=arguments;t0$7=m$8$0.length;if(t0$7>=2&&t0$7<=3){expr$0=m$8$0[0];mode$2=m$8$0[1];if(2>=t0$7){if(expr$0.called){called$0="send";}else{called$0=false;}}else{called$0=m$8$0[2];}m$10$0=expr$0;if(($$30108$0=Array.isArray(m$10$0))&&(t0$8=m$10$0.length,t0$8===2&&m$10$0[0]==="symbol")){s$0=m$10$0[1];rval$1=__at___$8.expr(__at___$8.mangle(s$0),mode$2);}else{if($$30108$0&&t0$8===1&&m$10$0[0]==="void"){rval$1=__at___$8.expr("null",mode$2);}else{if($$30108$0&&t0$8===2&&m$10$0[0]==="value"){v$1=m$10$0[1];m$11$0=v$1;if(typeof m$11$0==="string"){repl$0={"\"":"\\\"","\n":"\\n","\r":"\\r","\b":"\\b","\\":"\\\\"};v$1=v$1.replace(RegExp("((?:(?:(?:(?:\"|\\\\)|\n)|\r)|\b))","g"),function(m$12){return send(repl$0,m$12);});r$1="\""+v$1+"\"";}else{if(m$11$0===void 0){r$1="(void 0)";}else{if(getChecker(RegExp)(m$11$0)){__at___$9=String(v$1);__at___$10=__at___$9.slice(1,-1);__at___$11=__at___$10.replace(RegExp("/","g"),"\\/");__at___$12=__at___$11.replace(RegExp("\\n","g"),"\\n");r$1="/".concat(__at___$12).concat("/");}else{bridge$$30142$0=m$11$0;if((bridge$$30143$0=bridge$$30142$0,(bridge$$30144$0=bridge$$30143$0,typeof bridge$$30144$0==="number"||bridge$$30144$0===true)||bridge$$30143$0===false)||bridge$$30142$0===null){r$1=String(v$1);}else{if(___hasprop(m$11$0,"::id")&&(id$2=m$11$0["::id"],id$2)){r$1=__at___$8.translate(__at___$8.register_value(v$1,id$2),mode$2);}else{other$2=m$11$0;throw ErrorFactory(["cannot_serialize"]).create("Cannot serialize value",{"value":v$1});}}}}}rval$1=__at___$8.expr(r$1,mode$2);}else{if($$30108$0&&($$30110$0=t0$8===3)&&($$30111$0=m$10$0[0]==="send")&&(t1$4=m$10$0[1],Array.isArray(t1$4)&&(t2$2=t1$4.length,t2$2===2&&t1$4[0]==="variable"&&t1$4[1]==="___node"&&(t3$0=m$10$0[2],Array.isArray(t3$0)&&(t4$0=t3$0.length,t4$0===2&&t3$0[0]==="value"))))){f$0=t3$0[1];rval$1=f$0;}else{if($$30111$0&&(bridge$$30049$0=m$10$0[1],(Array.isArray(bridge$$30049$0)&&(t0$9=bridge$$30049$0.length,t0$9===2&&bridge$$30049$0[0]==="symbol"&&bridge$$30049$0[1]==="___js_fetch")||Array.isArray(bridge$$30049$0)&&(t0$10=bridge$$30049$0.length,t0$10===2&&bridge$$30049$0[0]==="variable"&&bridge$$30049$0[1]==="___js_fetch"))&&(t1$4=m$10$0[2],Array.isArray(t1$4)&&(t2$2=t1$4.length,t2$2===3&&t1$4[0]==="array")))){f$1=t1$4[1];msg$0=t1$4[2];x$6=ENode(["splice"],{},[__at___$8.translate(f$1,"expr"),"[",__at___$8.translate(msg$0,"expr"),"]"]);rval$1=__at___$8.expr(x$6,mode$2);}else{if($$30111$0&&(f$2=m$10$0[1],t1$4=m$10$0[2],msg$1=t1$4,Array.isArray(t1$4)&&(t2$2=t1$4.length,t2$2===2&&t1$4[0]==="value"&&(s$1=t1$4[1],nequal(called$0,"send"))))){m$13$0=null;if(typeof s$1==="string"&&s$1.match(RegExp("(?:^(?:[a-zA-Z_$]+)$)",""))){x$7=ENode(["splice"],{},[(m$14$0=__at___$8.translate(f$2,"expr"),getChecker(RegExp("^\\d+$",""))(m$14$0)?(x$8=m$14$0,"("+x$8+")"):(x$9=m$14$0,x$9)),".",__at___$8.translate(["symbol",s$1],"expr")]);rval$1=__at___$8.expr(x$7,mode$2);}else{otherwise$0=m$13$0;x$10=ENode(["splice"],{},[__at___$8.translate(f$2,"expr"),"[",__at___$8.translate(msg$1,"expr"),"]"]);rval$1=__at___$8.expr(x$10,mode$2);}}else{if($$30111$0&&(f$3=m$10$0[1],t1$4=m$10$0[2],Array.isArray(t1$4)&&(t2$2=t1$4.length,t2$2>=1&&t1$4[0]==="array"))){args$0=Array.prototype.slice.call(t1$4,1);m$15$0=f$3;if(($$30357$0=Array.isArray(m$15$0))&&(t0$11=m$15$0.length,($$30359$0=t0$11===2)&&m$15$0[0]==="symbol")){x$11=m$15$0[1];op$1=send(js_op_table$0,x$11);}else{if($$30359$0&&m$15$0[0]==="variable"){x$12=m$15$0[1];op$1=send(js_op_table2$0,x$12);}else{op$1=null;}}if(op$1){rval$1=__at___$8.expr(__at___$8.op(op$1,args$0[0],args$0[1]),mode$2);}else{x$13=ENode(["splice"],{},[__at___$8.translate(f$3,"expr",true),"(",join$0((acc$2=[],temp$5=null,m$16=null,function(){var _iteratorNormalCompletion3=true;var _didIteratorError3=false;var _iteratorError3=undefined;try{$6:for(var _iterator3=args$0[Symbol.iterator](),_step3;!(_iteratorNormalCompletion3=(_step3=_iterator3.next()).done);_iteratorNormalCompletion3=true){m$16=_step3.value;var x$14=void 0;x$14=m$16;temp$5=__at___$8.translate(x$14,"expr");acc$2.push(temp$5);}}catch(err){_didIteratorError3=true;_iteratorError3=err;}finally{try{if(!_iteratorNormalCompletion3&&_iterator3.return){_iterator3.return();}}finally{if(_didIteratorError3){throw _iteratorError3;}}}}(),acc$2),","),")"]);rval$1=__at___$8.expr(x$13,mode$2);}}else{if($$30111$0){f$4=m$10$0[1];msg$2=m$10$0[2];codevar$0="send";x$15=ENode(["splice"],{},[codevar$0,"(",__at___$8.translate(f$4,"expr","send"),",",__at___$8.translate(msg$2,"expr"),called$0?", true":"",")"]);rval$1=__at___$8.expr(x$15,mode$2);}else{if($$30108$0&&($$30110$0=t0$8>=1)&&m$10$0[0]==="array"){args$1=Array.prototype.slice.call(m$10$0,1);r$2=ENode(["splice"],{},["[",join$0((acc$3=[],temp$6=null,m$17=null,function(){var _iteratorNormalCompletion4=true;var _didIteratorError4=false;var _iteratorError4=undefined;try{$7:for(var _iterator4=args$1[Symbol.iterator](),_step4;!(_iteratorNormalCompletion4=(_step4=_iterator4.next()).done);_iteratorNormalCompletion4=true){m$17=_step4.value;var x$16=void 0;x$16=m$17;temp$6=__at___$8.translate(x$16,"expr");acc$3.push(temp$6);}}catch(err){_didIteratorError4=true;_iteratorError4=err;}finally{try{if(!_iteratorNormalCompletion4&&_iterator4.return){_iterator4.return();}}finally{if(_didIteratorError4){throw _iteratorError4;}}}}(),acc$3),","),"]"]);rval$1=__at___$8.expr(r$2,mode$2);}else{if($$30110$0&&m$10$0[0]==="object"){args$2=Array.prototype.slice.call(m$10$0,1);all_strings$0=args$2.every(function(temp$7$0){var t0$12=void 0;var t1$5=void 0;var other$3=void 0;var v$2=void 0;var t0$13=void 0;var t1$6=void 0;var ph$12$0=void 0;var y$0=void 0;t0$12=temp$7$0;if(Array.isArray(t0$12)&&(t1$5=t0$12.length,t1$5===3&&t0$12[0]==="array")){ph$12$0=t0$12[1];y$0=t0$12[2];}else{___match_error(temp$7$0);}t0$13=ph$12$0;t1$6=t0$13.length;if(t1$6===2&&t0$13[0]==="value"){v$2=t0$13[1];return true;}else{other$3=ph$12$0;return false;}});if(all_strings$0){r$3=ENode(["splice"],{},["({",(f$5=function f(temp$8$0){var t0$14=void 0;var t1$7=void 0;var a$1=void 0;var b$2=void 0;var x$17=void 0;var y$1=void 0;t0$14=temp$8$0;if(Array.isArray(t0$14)&&(t1$7=t0$14.length,t1$7===3&&t0$14[0]==="array")){x$17=t0$14[1];y$1=t0$14[2];}else{___match_error(temp$8$0);}a$1=__at___$8.translate(x$17,"expr");b$2=__at___$8.translate(y$1,"expr");return ENode(["splice"],{},[a$1,":",b$2]);},join$0(args$2.map(f$5),",")),"})"]);}else{v$3=gensym$0();r$3=ENode(["splice"],{},["(function(){let ",v$3,"={};",(acc$4=[],temp$9=null,m$18=null,function(){var _iteratorNormalCompletion5=true;var _didIteratorError5=false;var _iteratorError5=undefined;try{$8:for(var _iterator5=args$2[Symbol.iterator](),_step5;!(_iteratorNormalCompletion5=(_step5=_iterator5.next()).done);_iteratorNormalCompletion5=true){m$18=_step5.value;var x$18=void 0;var y$2=void 0;var t0$15=void 0;var t1$8=void 0;t0$15=m$18;if(Array.isArray(t0$15)&&(t1$8=t0$15.length,t1$8===3&&t0$15[0]==="array")){x$18=t0$15[1];y$2=t0$15[2];temp$9=ENode(["splice"],{},[v$3,"[",__at___$8.translate(x$18,"expr"),"]=",__at___$8.translate(y$2,"expr"),";"]);acc$4.push(temp$9);}else{___match_error(m$18);}}}catch(err){_didIteratorError5=true;_iteratorError5=err;}finally{try{if(!_iteratorNormalCompletion5&&_iterator5.return){_iterator5.return();}}finally{if(_didIteratorError5){throw _iteratorError5;}}}}(),acc$4),"return ",v$3,"})()"]);}rval$1=__at___$8.expr(r$3,mode$2);}else{if($$30108$0&&t0$8>=3&&t0$8<=4&&m$10$0[0]==="lambda"&&(bindings$0=m$10$0[1],body$0=m$10$0[2],t1$4=3>=t0$8?["value",false]:m$10$0[3],Array.isArray(t1$4)&&(t2$2=t1$4.length,t2$2===2&&t1$4[0]==="value"))){generator$0=t1$4[1];m$19$0=expr$0.name;if(__in__(m$19$0,jsKeywords$0)){name$3="";}else{if(getChecker(RegExp("^[$_a-zA-Z0-9]*$",""))(m$19$0)){name$3=" "+expr$0.name;}else{name$3="";}}r$4=ENode(["splice"],{},["(function",generator$0?"*":"",name$3,"(",join$0((acc$5=[],temp$10=null,m$20=null,function(){var _iteratorNormalCompletion6=true;var _didIteratorError6=false;var _iteratorError6=undefined;try{$9:for(var _iterator6=bindings$0[Symbol.iterator](),_step6;!(_iteratorNormalCompletion6=(_step6=_iterator6.next()).done);_iteratorNormalCompletion6=true){m$20=_step6.value;var x$19=void 0;x$19=m$20;temp$10=__at___$8.translate(x$19,"expr");acc$5.push(temp$10);}}catch(err){_didIteratorError6=true;_iteratorError6=err;}finally{try{if(!_iteratorNormalCompletion6&&_iterator6.return){_iterator6.return();}}finally{if(_didIteratorError6){throw _iteratorError6;}}}}(),acc$5),","),"){",__at___$8.body(body$0,"return"),"})"]);rval$1=__at___$8.expr(r$4,mode$2);}else{if($$30108$0&&($$30110$0=t0$8===4)&&($$30111$0=m$10$0[0]==="if")&&(test$0=m$10$0[1],pos$0=m$10$0[2],t1$4=m$10$0[3],Array.isArray(t1$4)&&(t2$2=t1$4.length,t2$2===2&&t1$4[0]==="value"&&t1$4[1]===void 0))){ph$2$0=mode$2;if(ph$2$0==="expr"){x$20=ENode(["splice"],{},["(",__at___$8.translate(test$0,"expr"),"?",__at___$8.translate(pos$0,"expr"),":undefined)"]);rval$1=__at___$8.expr(x$20,"expr");}else{other$4=ph$2$0;rval$1=ENode(["splice"],{},["if(",__at___$8.translate(test$0,"expr"),"){",__at___$8.translate(pos$0,mode$2),"}"]);}}else{if($$30111$0){test$1=m$10$0[1];pos$1=m$10$0[2];neg$0=m$10$0[3];ph$3$0=mode$2;if(ph$3$0==="expr"){x$21=ENode(["splice"],{},["(",__at___$8.translate(test$1,"expr"),"?",__at___$8.translate(pos$1,"expr"),":",__at___$8.translate(neg$0,"expr"),")"]);rval$1=__at___$8.expr(x$21,"expr");}else{other$5=ph$3$0;rval$1=ENode(["splice"],{},["if(",__at___$8.translate(test$1,"expr"),"){",__at___$8.translate(pos$1,mode$2),"}else{",__at___$8.translate(neg$0,mode$2),"}"]);}}else{if($$30108$0&&($$30110$0=t0$8===3)&&($$30111$0=m$10$0[0]==="declare")&&(binding$0=m$10$0[1],t1$4=m$10$0[2],Array.isArray(t1$4)&&(t2$2=t1$4.length,t2$2===2&&t1$4[0]==="value"&&t1$4[1]===void 0))){ph$4$0=mode$2;bridge$$30064$0=ph$4$0;if((bridge$$30065$0=bridge$$30064$0,bridge$$30065$0==="expr"||bridge$$30065$0==="return")||(x$22=bridge$$30064$0,x$22 instanceof Array&&x$22[0]==="return")){throw"Invalid in expr ctx";}else{other$6=ph$4$0;if(__at___$8.globvar&&binding$0.top){rval$1="";}else{rval$1=ENode(["splice"],{},["let ",__at___$8.translate(binding$0,"expr"),";"]);}}}else{if($$30111$0){binding$1=m$10$0[1];value$0=m$10$0[2];ph$5$0=mode$2;bridge$$30069$0=ph$5$0;if((bridge$$30070$0=bridge$$30069$0,bridge$$30070$0==="expr"||bridge$$30070$0==="return")||(x$23=bridge$$30069$0,x$23 instanceof Array&&x$23[0]==="return")){throw"Invalid in expr ctx";}else{other$7=ph$5$0;rval$1=ENode(["splice"],{},["let ",__at___$8.translate(binding$1,"expr"),"=",__at___$8.translate(value$0,"expr"),";"]);}}else{if($$30110$0&&($$30111$0=m$10$0[0]==="assign")&&(t1$4=m$10$0[1],Array.isArray(t1$4)&&(t2$2=t1$4.length,t2$2===3&&t1$4[0]==="send"))){obj$0=t1$4[1];msg$3=t1$4[2];rhs$0=m$10$0[2];x$24=ENode(["splice"],{},["(",__at___$8.translate(obj$0,"expr"),"[",__at___$8.translate(msg$3,"expr"),"]=",__at___$8.translate(rhs$0,"expr"),")"]);rval$1=__at___$8.expr(x$24,mode$2);}else{if($$30111$0&&(lhs$0=t1$4,Array.isArray(t1$4)&&(t2$2=t1$4.length,t2$2===2&&t1$4[0]==="variable"))){t1$4[1];rhs$1=m$10$0[2];m$21$0=mode$2;if(m$21$0==="stmt"){rval$1=__at___$8.translate(rhs$1,["return",__at___$8.translate(lhs$0,"expr")]);}else{core$0=ENode(["splice"],{},[__at___$8.translate(lhs$0,"expr"),"=",__at___$8.translate(rhs$1,"expr")]);x$25=ENode(["splice"],{},["(",core$0,")"]);rval$1=__at___$8.expr(x$25,mode$2);}}else{if($$30108$0&&t0$8===1&&m$10$0[0]==="multi"){if(mode$2==="stmt"){rval$1="";}else{rval$1="null";}}else{if($$30108$0&&($$30110$0=t0$8>=1)&&m$10$0[0]==="multi"){_args$0=Array.prototype.slice.call(m$10$0,1);flatten$0=function flatten(args$4){var m$23=void 0;var res$0=void 0;res$0=[];m$23=null;var _iteratorNormalCompletion7=true;var _didIteratorError7=false;var _iteratorError7=undefined;try{$10:for(var _iterator7=args$4[Symbol.iterator](),_step7;!(_iteratorNormalCompletion7=(_step7=_iterator7.next()).done);_iteratorNormalCompletion7=true){m$23=_step7.value;var t0$16=void 0;var t0$17=void 0;var other$8=void 0;var more$0=void 0;var bridge$$30840$0=void 0;bridge$$30840$0=m$23;if(Array.isArray(bridge$$30840$0)&&(t0$16=bridge$$30840$0.length,t0$16>=1&&bridge$$30840$0[0]==="multi"&&(more$0=Array.prototype.slice.call(bridge$$30840$0,1),true))||Array.isArray(bridge$$30840$0)&&(t0$17=bridge$$30840$0.length,t0$17>=1&&bridge$$30840$0[0]==="splice"&&(more$0=Array.prototype.slice.call(bridge$$30840$0,1),true))){res$0=res$0.concat(flatten$0(more$0));}else{other$8=m$23;res$0.push(other$8);}}}catch(err){_didIteratorError7=true;_iteratorError7=err;}finally{try{if(!_iteratorNormalCompletion7&&_iterator7.return){_iterator7.return();}}finally{if(_didIteratorError7){throw _iteratorError7;}}}return res$0;};all_args$0=flatten$0(_args$0);acc$6=[];temp$11=null;m$24=null;var _iteratorNormalCompletion8=true;var _didIteratorError8=false;var _iteratorError8=undefined;try{$11:for(var _iterator8=all_args$0.slice(0,-1)[Symbol.iterator](),_step8;!(_iteratorNormalCompletion8=(_step8=_iterator8.next()).done);_iteratorNormalCompletion8=true){m$24=_step8.value;var x$26=void 0;var x$27=void 0;var bridge$$30882$0=void 0;var x$28=void 0;var x$29=void 0;var bridge$$30881$0=void 0;var elem$0=void 0;var ph$13$0=void 0;var t0$18=void 0;t0$18=m$24;elem$0=t0$18;ph$13$0=t0$18;bridge$$30881$0=ph$13$0;if((bridge$$30882$0=bridge$$30881$0,(x$26=bridge$$30882$0,x$26 instanceof Array&&x$26[0]==="value")||(x$27=bridge$$30882$0,x$27 instanceof Array&&x$27[0]==="symbol"))||(x$28=bridge$$30881$0,x$28 instanceof Array&&x$28[0]==="variable")){continue $11;}else{x$29=ph$13$0;temp$11=x$29;}acc$6.push(temp$11);}}catch(err){_didIteratorError8=true;_iteratorError8=err;}finally{try{if(!_iteratorNormalCompletion8&&_iterator8.return){_iterator8.return();}}finally{if(_didIteratorError8){throw _iteratorError8;}}}args$3=acc$6;if(all_args$0.length>0){args$3.push(send(all_args$0,all_args$0.length-1));}isdecl$0=function isdecl(ph$14$0){var other$9=void 0;var variable$2=void 0;var value$1=void 0;var t0$19=void 0;var t1$9=void 0;t0$19=ph$14$0;t1$9=t0$19.length;if(t1$9===3&&t0$19[0]==="declare"){variable$2=t0$19[1];value$1=t0$19[2];return true;}else{other$9=ph$14$0;return false;}};m$22$0=mode$2;if(args$3.length===1){rval$1=__at___$8.translate(args$3[0],mode$2);}else{if(m$22$0==="expr"&&!args$3.some(isdecl$0)){acc$7=[];temp$12=null;m$25=null;var _iteratorNormalCompletion9=true;var _didIteratorError9=false;var _iteratorError9=undefined;try{$12:for(var _iterator9=args$3.slice(0,-1)[Symbol.iterator](),_step9;!(_iteratorNormalCompletion9=(_step9=_iterator9.next()).done);_iteratorNormalCompletion9=true){m$25=_step9.value;var x$30=void 0;x$30=m$25;temp$12=__at___$8.translate(x$30,"expr");acc$7.push(temp$12);}}catch(err){_didIteratorError9=true;_iteratorError9=err;}finally{try{if(!_iteratorNormalCompletion9&&_iterator9.return){_iterator9.return();}}finally{if(_didIteratorError9){throw _iteratorError9;}}}xs$0=acc$7;xs$0.push(__at___$8.translate(send(args$3,args$3.length-1),mode$2));acc$8=[];temp$13=null;m$26=null;var _iteratorNormalCompletion10=true;var _didIteratorError10=false;var _iteratorError10=undefined;try{$13:for(var _iterator10=xs$0[Symbol.iterator](),_step10;!(_iteratorNormalCompletion10=(_step10=_iterator10.next()).done);_iteratorNormalCompletion10=true){m$26=_step10.value;var x$31=void 0;x$31=m$26;if(x$31!==""){temp$13=x$31;acc$8.push(temp$13);}else{false;}}}catch(err){_didIteratorError10=true;_iteratorError10=err;}finally{try{if(!_iteratorNormalCompletion10&&_iterator10.return){_iterator10.return();}}finally{if(_didIteratorError10){throw _iteratorError10;}}}xs$0=acc$8;rval$1=ENode(["splice"],{},["(",join$0(xs$0,","),")"]);}else{rval$1=__at___$8.body(["multi"].concat(args$3),mode$2);}}}else{if($$30110$0&&m$10$0[0]==="splice"){args$5=Array.prototype.slice.call(m$10$0,1);rval$1=__at___$8.translate(["multi"].concat(args$5),mode$2);}else{if($$30108$0&&t0$8===2&&m$10$0[0]==="variable"){s$2=m$10$0[1];if(__at___$8.globvar&&expr$0.top&&!__in__(s$2,["this","arguments","typeof"])){x$32=__at___$8.globvar+"."+__at___$8.mangle(s$2);}else{x$32=__at___$8.mangle(s$2);}rval$1=__at___$8.expr(x$32,mode$2);}else{if($$30108$0&&t0$8===3&&m$10$0[0]==="scope"){vars$0=m$10$0[1];body$1=m$10$0[2];acc$9=[];temp$14=null;m$27=null;var _iteratorNormalCompletion11=true;var _didIteratorError11=false;var _iteratorError11=undefined;try{$14:for(var _iterator11=vars$0[Symbol.iterator](),_step11;!(_iteratorNormalCompletion11=(_step11=_iterator11.next()).done);_iteratorNormalCompletion11=true){m$27=_step11.value;var v$4=void 0;v$4=m$27;temp$14=["declare",v$4,["value",undefined]];acc$9.push(temp$14);}}catch(err){_didIteratorError11=true;_iteratorError11=err;}finally{try{if(!_iteratorNormalCompletion11&&_iterator11.return){_iterator11.return();}}finally{if(_didIteratorError11){throw _iteratorError11;}}}decls$0=acc$9;rval$1=__at___$8.translate(["multi"].concat(decls$0).concat([body$1]),mode$2);}else{if($$30108$0&&t0$8===2&&m$10$0[0]==="js_new"){value$2=m$10$0[1];x$33=ENode(["splice"],{},["(new ",__at___$8.translate(value$2,"expr"),")"]);rval$1=__at___$8.expr(x$33,mode$2);}else{if($$30108$0&&($$30110$0=t0$8>=1&&t0$8<=2)&&m$10$0[0]==="js_break"&&(t1$4=1>=t0$8?["value",null]:m$10$0[1],Array.isArray(t1$4)&&(t2$2=t1$4.length,t2$2===2&&t1$4[0]==="value"))){label$0=t1$4[1];rval$1=ENode(["splice"],{},["break",label$0?" "+label$0:"",";"]);}else{if($$30110$0&&m$10$0[0]==="js_continue"&&(t1$4=1>=t0$8?["value",null]:m$10$0[1],Array.isArray(t1$4)&&(t2$2=t1$4.length,t2$2===2&&t1$4[0]==="value"))){label$1=t1$4[1];rval$1=ENode(["splice"],{},["continue",label$1?" "+label$1:"",";"]);}else{if($$30108$0&&t0$8===2&&m$10$0[0]==="js_return"){value$3=m$10$0[1];rval$1=ENode(["splice"],{},["return ",__at___$8.translate(value$3,"expr"),";"]);}else{if($$30108$0&&t0$8===3&&m$10$0[0]==="js_yield"&&(value$4=m$10$0[1],t1$4=m$10$0[2],Array.isArray(t1$4)&&(t2$2=t1$4.length,t2$2===2&&t1$4[0]==="value"))){all$0=t1$4[1];x$34=ENode(["splice"],{},["(yield",all$0?"*":""," ",__at___$8.translate(value$4,"expr"),")"]);rval$1=__at___$8.expr(x$34,mode$2);}else{if($$30108$0&&($$30110$0=t0$8===2)&&m$10$0[0]==="js_delete"){ph$6$0=m$10$0[1];t0$20=ph$6$0;if(Array.isArray(t0$20)&&(t1$10=t0$20.length,t1$10===3&&t0$20[0]==="send")){x$35=t0$20[1];y$3=t0$20[2];rval$1=ENode(["splice"],{},["delete ",__at___$8.translate(x$35,"expr"),"[",__at___$8.translate(y$3,"expr"),"];"]);}else{throw ErrorFactory(["translate","delete"]).create("Invalid argument for delete");}}else{if($$30110$0&&m$10$0[0]==="js_throw"){value$5=m$10$0[1];m$28$0=mode$2;if(m$28$0==="expr"){rval$1=ENode(["splice"],{},["(function(){throw ",__at___$8.translate(value$5,"expr"),";})()"]);}else{rval$1=ENode(["splice"],{},["throw ",__at___$8.translate(value$5,"expr"),";"]);}}else{if($$30108$0&&($$30110$0=t0$8===3)&&m$10$0[0]==="js_label"&&(t1$4=m$10$0[1],Array.isArray(t1$4)&&(t2$2=t1$4.length,t2$2===2&&t1$4[0]==="value"))){label$2=t1$4[1];body$2=m$10$0[2];ph$7$0=mode$2;if(ph$7$0==="expr"){rval$1=__at___$8.body(expr$0,"expr");}else{other$10=ph$7$0;rval$1=ENode(["splice"],{},[label$2,":",__at___$8.translate(body$2,other$10)]);}}else{if($$30110$0&&m$10$0[0]==="js_while"){test$2=m$10$0[1];body$3=m$10$0[2];ph$8$0=mode$2;if(ph$8$0==="expr"){rval$1=__at___$8.body(expr$0,"expr");}else{other$11=ph$8$0;rval$1=ENode(["splice"],{},["while(",__at___$8.translate(test$2,"expr"),"){",__at___$8.translate(body$3,"stmt"),"}"]);}}else{if($$30108$0&&t0$8===5&&m$10$0[0]==="js_for"){x$36=m$10$0[1];y$4=m$10$0[2];z$0=m$10$0[3];body$4=m$10$0[4];ph$9$0=mode$2;if(ph$9$0==="expr"){rval$1=__at___$8.body(expr$0,"expr");}else{other$12=ph$9$0;rval$1=ENode(["splice"],{},["for(",__at___$8.translate(x$36,"expr"),";",__at___$8.translate(y$4,"expr"),";",__at___$8.translate(z$0,"expr"),"){",__at___$8.translate(body$4,"stmt"),"}"]);}}else{if($$30108$0&&($$30110$0=t0$8===4)&&m$10$0[0]==="js_for_in"){x$37=m$10$0[1];y$5=m$10$0[2];body$5=m$10$0[3];ph$10$0=mode$2;if(ph$10$0==="expr"){rval$1=__at___$8.body(expr$0,"expr");}else{other$13=ph$10$0;rval$1=ENode(["splice"],{},["for(",__at___$8.translate(x$37,"expr")," in ",__at___$8.translate(y$5,"expr"),"){",__at___$8.translate(body$5,"stmt"),"}"]);}}else{if($$30110$0&&m$10$0[0]==="js_for_of"){x$38=m$10$0[1];y$6=m$10$0[2];body$6=m$10$0[3];ph$11$0=mode$2;if(ph$11$0==="expr"){rval$1=__at___$8.body(expr$0,"expr");}else{other$14=ph$11$0;rval$1=ENode(["splice"],{},["for(",__at___$8.translate(x$38,"expr")," of ",__at___$8.translate(y$6,"expr"),"){",__at___$8.translate(body$6,"stmt"),"}"]);}}else{if($$30110$0&&m$10$0[0]==="js_class"&&(t1$4=m$10$0[1],Array.isArray(t1$4)&&(t2$2=t1$4.length,t2$2===2&&t1$4[0]==="value"&&(name$4=t1$4[1],super$1=m$10$0[2],t3$0=m$10$0[3],Array.isArray(t3$0)&&(t4$0=t3$0.length,t4$0>=1&&t3$0[0]==="array"))))){mthds$0=Array.prototype.slice.call(t3$0,1);m$29$0=super$1;if(Array.isArray(m$29$0)&&(t0$21=m$29$0.length,t0$21===2&&m$29$0[0]==="value"&&m$29$0[1]===null)){is__minus__super$0=false;}else{is__minus__super$0=true;}r$5=ENode(["splice"],{},["(class ",name$4,is__minus__super$0?[" extends ",__at___$8.translate(super$1,"expr")]:"","{",(acc$10=[],temp$15=null,m$30=null,function(){var _iteratorNormalCompletion12=true;var _didIteratorError12=false;var _iteratorError12=undefined;try{var _loop=function _loop(){m$30=_step12.value;var m$31=void 0;var acc$11=void 0;var temp$16=void 0;var argstr$0=void 0;var type$0=void 0;var name$5=void 0;var args$6=void 0;var body$7=void 0;var t0$22=void 0;var t1$11=void 0;var t2$3=void 0;var t3$1=void 0;var t4$1=void 0;var t5$0=void 0;var t6$0=void 0;var t7$0=void 0;t0$22=m$30;if(Array.isArray(t0$22)&&(t1$11=t0$22.length,t1$11===4&&t0$22[0]==="array"&&(t2$3=t0$22[1],Array.isArray(t2$3)&&(t3$1=t2$3.length,t3$1===2&&t2$3[0]==="value"&&(type$0=t2$3[1],t4$1=t0$22[2],Array.isArray(t4$1)&&(t5$0=t4$1.length,t5$0===2&&t4$1[0]==="value"&&(name$5=t4$1[1],t6$0=t0$22[3],Array.isArray(t6$0)&&(t7$0=t6$0.length,t7$0===4&&t6$0[0]==="lambda")))))))){args$6=t6$0[1];body$7=t6$0[2];t6$0[3];argstr$0=(acc$11=[],temp$16=null,m$31=null,function(){var _iteratorNormalCompletion13=true;var _didIteratorError13=false;var _iteratorError13=undefined;try{$18:for(var _iterator13=args$6[Symbol.iterator](),_step13;!(_iteratorNormalCompletion13=(_step13=_iterator13.next()).done);_iteratorNormalCompletion13=true){m$31=_step13.value;var v$5=void 0;v$5=m$31;temp$16=__at___$8.translate(v$5,"expr");acc$11.push(temp$16);}}catch(err){_didIteratorError13=true;_iteratorError13=err;}finally{try{if(!_iteratorNormalCompletion13&&_iterator13.return){_iterator13.return();}}finally{if(_didIteratorError13){throw _iteratorError13;}}}}(),acc$11).join(ENode([],{},[","]));temp$15=[type$0," ",name$5,"(",argstr$0,")","{",__at___$8.translate(body$7,"return"),"}"];acc$10.push(temp$15);}else{___match_error(m$30);}};$15:for(var _iterator12=mthds$0[Symbol.iterator](),_step12;!(_iteratorNormalCompletion12=(_step12=_iterator12.next()).done);_iteratorNormalCompletion12=true){_loop();}}catch(err){_didIteratorError12=true;_iteratorError12=err;}finally{try{if(!_iteratorNormalCompletion12&&_iterator12.return){_iterator12.return();}}finally{if(_didIteratorError12){throw _iteratorError12;}}}}(),acc$10),"})"]);rval$1=__at___$8.expr(r$5,mode$2);}else{if($$30110$0&&m$10$0[0]==="js_try"&&(attempt$0=m$10$0[1],t1$4=m$10$0[2],Array.isArray(t1$4)&&(t2$2=t1$4.length,t2$2===4&&t1$4[0]==="lambda"&&(t3$0=t1$4[1],Array.isArray(t3$0)&&(t4$0=t3$0.length,t4$0===1&&(bridge$$30105$0=t3$0[0],Array.isArray(bridge$$30105$0)&&(t0$23=bridge$$30105$0.length,t0$23===2&&bridge$$30105$0[0]==="symbol"&&(v$6=bridge$$30105$0[1],true))||Array.isArray(bridge$$30105$0)&&(t0$24=bridge$$30105$0.length,t0$24===2&&bridge$$30105$0[0]==="variable"&&(v$6=bridge$$30105$0[1],true)))))))){body$8=t1$4[2];t1$4[3];finally$1=m$10$0[3];m$33$0=mode$2;if(m$33$0==="expr"){r$6=__at___$8.body(expr$0,"expr");}else{other$15=m$33$0;r$6=ENode(["splice"],{},["try{",__at___$8.translate(attempt$0,"stmt"),"}catch(",v$6,"){",__at___$8.translate(body$8,"stmt"),"}"]);}m$32$0=finally$1;if(Array.isArray(m$32$0)&&(t0$25=m$32$0.length,t0$25===1&&m$32$0[0]==="void")){rval$1=r$6;}else{other$16=m$32$0;rval$1=ENode(["splice"],{},[r$6,"finally{",__at___$8.translate(other$16,"stmt"),"}"]);}}else{if($$30108$0&&t0$8===2&&m$10$0[0]==="raw"){x$39=m$10$0[1];rval$1=x$39;}else{other$17=m$10$0;throw other$17;}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}m$9$0=rval$1;if(getChecker(ENode)(m$9$0)){n$0=m$9$0;if(!n$0.props.origin){$targ$6=expr$0;n$0.props["origin"]=$targ$6;void 0;}return n$0;}else{if(typeof m$9$0==="string"){return ENode(["splice"],{"origin":expr$0},rval$1);}else{return ___match_error(m$9$0,"String? ");}}}else{return ___match_error(m$8$0,"{expr, mode, called = if{expr.called, .send, false}}");}};__amp____colon__(Translator$0,__amp____colon__(($targ$7="Translator",accum$0={},accum$0["::name"]=$targ$7,accum$0),($targ$8=true,accum$1={},accum$1["::egclass"]=$targ$8,accum$1)));$targ$9=Translator$0;exports["Translator"]=$targ$9;void 0;
//# sourceMappingURL=translate-js.js.map