UNPKG

node-mirror

Version:

node.js + CodeMirror = Great IDE and Admin Tool

952 lines (872 loc) 36.5 kB
(function(){var __modFun = function(__require, promiseland){ __modFun = undefined; var __Promise = promiseland.Promise; var Promise = promiseland.Promise; var __requireFun = function(parModule){ var returnPromise = new __Promise(); try{__require([parModule], function(m){ if (promiseland.isPromiseLandPromisingModule(m)){ m.then(function(realm){returnPromise.resolve(realm);}, function(e){returnPromise.reject(e);}); }else{ returnPromise.resolve(m); }; }, function(err){ returnPromise.reject(err); }); }catch(e){ returnPromise.reject(e); }; return returnPromise.promise;}; if (promiseland._hasModule({ hashStr: "219a170ab69faffba46712e889ab4469" })){ return promiseland._getModule("219a170ab69faffba46712e889ab4469"); }; var PL$1 = new __Promise(); promiseland._registerModule({ hashStr: "219a170ab69faffba46712e889ab4469", "module": PL$1, promising: true }); var PL$6/*promiseland*/;try{PL$6/*promiseland*/ = promiseland;}catch(e){}; var PL$2 = (function(){ "use strict"; var PL$3/*promiseland exception catcher*/ = function(code){ return function(res){ try{ code(res); }catch(e){ PL$1.reject(e); }; }; }; var PL$4/*catch rejected*/ = function(e){ PL$1.reject(e); }; var PL$5/*Map*/; var PL$7/*classSystem*/; var PL$8/*basics*/; var PL$10/*errorFun*/; var PL$11/*errorMsg*/; var PL$12/*_stringEncodeStr*/; var PL$13/*stringEncodeStr*/; var PL$14/*VariableNames*/; var PL$15/*mixin*/; var PL$16/*identifierName*/; var PL$17/*checkIsFunction*/; var PL$18/*getExtraFromPar*/; var PL$19/*statementType*/; var PL$20/*checkPromising*/; var PL$21/*blocksModule*/; var PL$23/*loopsModule*/; var PL$25/*conditionalsModule*/; var PL$27/*literalsModule*/; var PL$29/*classModule*/; PL$3/*promiseland exception catcher*/(function(){ ; PL$5/*Map*/ = PL$6/*promiseland*/["Map"]; PL$7/*classSystem*/ = PL$6/*promiseland*/["classSystem"]; __requireFun("./basics").then(PL$3/*promiseland exception catcher*/(function(PL$9){PL$8/*basics*/ = PL$9; PL$10/*errorFun*/ = PL$8/*basics*/["errorFun"]; PL$11/*errorMsg*/ = PL$8/*basics*/["errorMsg"]; PL$12/*_stringEncodeStr*/ = PL$8/*basics*/["_stringEncodeStr"]; PL$13/*stringEncodeStr*/ = PL$8/*basics*/["stringEncodeStr"]; PL$14/*VariableNames*/ = PL$8/*basics*/["VariableNames"]; PL$15/*mixin*/ = PL$8/*basics*/["mixin"]; PL$16/*identifierName*/ = PL$8/*basics*/["identifierName"]; PL$17/*checkIsFunction*/ = PL$8/*basics*/["checkIsFunction"]; PL$18/*getExtraFromPar*/ = PL$8/*basics*/["getExtraFromPar"]; PL$19/*statementType*/ = PL$8/*basics*/["statementType"]; PL$20/*checkPromising*/ = PL$8/*basics*/["checkPromising"]; __requireFun("./blocks").then(PL$3/*promiseland exception catcher*/(function(PL$22){PL$21/*blocksModule*/ = PL$22; __requireFun("./loops").then(PL$3/*promiseland exception catcher*/(function(PL$24){PL$23/*loopsModule*/ = PL$24; __requireFun("./conditionals").then(PL$3/*promiseland exception catcher*/(function(PL$26){PL$25/*conditionalsModule*/ = PL$26; __requireFun("./literals").then(PL$3/*promiseland exception catcher*/(function(PL$28){PL$27/*literalsModule*/ = PL$28; __requireFun("./class").then(PL$3/*promiseland exception catcher*/(function(PL$30){PL$29/*classModule*/ = PL$30; PL$1.resolve((function(PL$31/*parInstance*/, PL$32/*par*/){ ; var PL$33/*f*/ = (function(PL$32/*par*/){ ; PL$21/*blocksModule*/(this, PL$32/*par*/); PL$23/*loopsModule*/(this, PL$32/*par*/); PL$25/*conditionalsModule*/(this, PL$32/*par*/); PL$27/*literalsModule*/(this, PL$32/*par*/); PL$29/*classModule*/(this, PL$32/*par*/); this["parseExpression"] = (function(PL$32/*par*/){ ; var PL$34/*res*/ = this["_parseExpression"](PL$32/*par*/); ; if(! PL$34/*res*/["getType"]()){ this["error"](PL$32/*par*/, PL$11/*errorMsg*/["internalMissingResultType"]); }; ; PL$34/*res*/["setParsed"](PL$32/*par*/); return PL$34/*res*/; ;}); this["_parseExpression"] = (function(PL$35/*value*/){ ; var PL$34/*res*/; ; switch (PL$35/*value*/["type"]){ case "ArrayExpression": return this["expArrayExpression"](PL$35/*value*/); case "AssignmentExpression": return this["expAssignmentExpression"](PL$35/*value*/); case "BinaryExpression": return this["expBinaryExpression"](PL$35/*value*/); case "BlockStatement": return this["expBlockStatement"](PL$35/*value*/); case "BreakStatement": return this["expBreakStatement"](PL$35/*value*/); case "CallExpression": return this["expCallExpression"](PL$35/*value*/); case "Class": return this["expClassStatement"](PL$35/*value*/); case "ClassObjectExpression": return this["expClassObjectExpression"](PL$35/*value*/); case "ConditionalExpression": return this["conditionalExpression"](PL$35/*value*/); case "ConnectExpression": return this["connectExpression"](PL$35/*value*/); case "ContinueStatement": return this["expContinueStatement"](PL$35/*value*/); case "DebuggerStatement": return this["expDebuggerStatement"](PL$35/*value*/); case "DoWhileStatement": return this["expDoWhileStatement"](PL$35/*value*/); case "EmptyStatement": PL$34/*res*/ = this["newResult"](); PL$34/*res*/["setType"]("var"); return PL$34/*res*/; case "ExpressionStatement": return this["expExpressionStatement"](PL$35/*value*/); case "ForInStatement": return this["expForInStatement"](PL$35/*value*/); case "ForStatement": return this["expForStatement"](PL$35/*value*/); case "FunctionExpression": return this["expFunctionExpression"](PL$35/*value*/); case "FunctionDeclaration": return this["expFunctionDeclaration"](PL$35/*value*/); case "MemberFunction": return this["expMemberFunction"](PL$35/*value*/); case "Identifier": return this["expIdentifier"](PL$35/*value*/); case "IfStatement": return this["expIfStatement"](PL$35/*value*/); case "InheritedExpression": return this["expInheritedExpression"](PL$35/*value*/); case "Literal": return this["expLiteral"](PL$35/*value*/); case "MemberExpression": return this["expMemberExpression"](PL$35/*value*/); case "NewExpression": return this["expNewExpression"](PL$35/*value*/); case "ObjectExpression": return this["expObjectExpression"](PL$35/*value*/); case "ReturnStatement": return this["expReturnStatement"](PL$35/*value*/); case "SequenceExpression": return this["expSequenceExpression"](PL$35/*value*/); case "SwitchStatement": return this["expSwitchStatement"](PL$35/*value*/); case "ThisExpression": return this["expThisExpression"](PL$35/*value*/); case "ThrowStatement": return this["expThrowStatement"](PL$35/*value*/); case "TryStatement": return this["expTryStatement"](PL$35/*value*/); case "UnaryExpression": if((PL$35/*value*/["operator"] == "*")){ return this["expPromiseExpression"](PL$35/*value*/["argument"]); }; ; if((PL$35/*value*/["operator"] == "require")){ return this["expRequireExpression"](PL$35/*value*/["argument"]); }; ; return this["expUnaryExpression"](PL$35/*value*/); case "UpdateExpression": return this["expUpdateExpression"](PL$35/*value*/); case "VariableStatement": return this["expVariableStatement"](PL$35/*value*/); case "VariableDeclaration": return this["expVariableDeclaration"](PL$35/*value*/); case "WhileStatement": return this["whileStatement"](PL$35/*value*/); default: debugger; this["error"](PL$35/*value*/, PL$11/*errorMsg*/["unknownType"]); }; ; return "/*this should not happen*/"; ;}); this["expExpressionStatement"] = (function(PL$36/*parParsed*/){ ; var PL$34/*res*/ = this["getDestroyTemporaryClassCode"]({ "value": this["parseExpression"](PL$36/*parParsed*/["expression"]) }); ; return PL$34/*res*/; ;}); this["expThisExpression"] = (function(PL$32/*par*/){ ; var PL$34/*res*/ = this["newResult"](); ; if(! this["promising"]){ PL$34/*res*/["push"]("this"); }else{ if(! this["usingThis"]){ this["usingThis"] = true; this["thisExpression"] = this["getUniqueName"]("this"); }; ; PL$34/*res*/["push"](this["thisExpression"]); }; ; PL$34/*res*/["setType"](this["thisType"]); return PL$34/*res*/; ;}); this["expSequenceExpression"] = (function(PL$32/*par*/){ ; var PL$34/*res*/ = this["newResult"](); ; if((PL$32/*par*/["expressions"] && PL$32/*par*/["expressions"]["length"])){ var PL$37/*i*/ = 0; ; for(PL$37/*i*/ = 0;(PL$37/*i*/ < PL$32/*par*/["expressions"]["length"]);++PL$37/*i*/){{ if((PL$37/*i*/ > 0)){ PL$34/*res*/["push"](","); }; ; PL$34/*res*/["push"](this["expectTypeVar"](this["parseExpression"](PL$32/*par*/["expressions"][PL$37/*i*/])));}}; ; }; ; PL$34/*res*/["setType"]("var"); return PL$34/*res*/; ;}); this["expThrowStatement"] = (function(PL$32/*par*/){ ; var PL$34/*res*/ = this["newResult"](); ; PL$34/*res*/["push"]("throw "); PL$34/*res*/["push"](this["expectTypeVar"](this["parseExpression"](PL$32/*par*/["argument"]))); PL$34/*res*/["setType"](PL$19/*statementType*/); return PL$34/*res*/; ;}); this["expTryStatement"] = (function(PL$32/*par*/){ ; var PL$34/*res*/ = this["newResult"](); ; var PL$38/*catchPromise*/; ; var PL$39/*continuePromise*/; ; if(PL$20/*checkPromising*/(PL$32/*par*/)){ this["stack"]("tryCatchFunctionStr"); this["stack"]("catchFunctionStr"); PL$39/*continuePromise*/ = this["getUniqueName"](); PL$34/*res*/["addPre"]((((("var " + PL$39/*continuePromise*/) + " = ") + this["newPromiseStr"]()) + ";")); PL$34/*res*/["addPre"](this["newLine"]()); PL$38/*catchPromise*/ = this["getUniqueName"](); PL$34/*res*/["addPre"]((((("var " + PL$38/*catchPromise*/) + " = ") + this["newPromiseStr"]()) + ";")); PL$34/*res*/["addPre"](this["newLine"]()); this["tryCatchFunctionStr"] = (this["getUniqueName"]() + "/*try catch*/"); PL$34/*res*/["addPre"]((((("var " + this["tryCatchFunctionStr"]) + " = function(code){ return function(res){ try{code(res);}catch(e){ ") + PL$38/*catchPromise*/) + ".resolve(e); }; }; };")); PL$34/*res*/["addPre"](this["newLine"]()); this["catchFunctionStr"] = this["getUniqueName"](); PL$34/*res*/["addPre"]((((("var " + this["catchFunctionStr"]) + " = function(e){ ") + PL$38/*catchPromise*/) + ".resolve(e); };")); PL$34/*res*/["addPre"](this["newLine"]()); PL$34/*res*/["push"]((this["tryCatchFunctionStr"] + "(function()")); }else{ PL$34/*res*/["push"]("try"); PL$34/*res*/["push"](this["newLine"]()); }; ; var PL$40/*b*/ = PL$32/*par*/["block"]; ; var PL$41/*extraPar*/ = { }; ; PL$40/*b*/["brackets"] = true; if(PL$20/*checkPromising*/(PL$32/*par*/)){ PL$41/*extraPar*/["postCode"] = this["newResult"]((PL$39/*continuePromise*/ + ".resolve()")); }; ; PL$34/*res*/["push"](this["makeCompleteStatement"](this["blockCreator"](PL$40/*b*/, PL$41/*extraPar*/))); if(PL$20/*checkPromising*/(PL$32/*par*/)){ this["unstack"]("tryCatchFunctionStr"); this["unstack"]("catchFunctionStr"); PL$34/*res*/["push"](")();"); PL$34/*res*/["push"](this["newLine"]()); PL$34/*res*/["push"]((((PL$38/*catchPromise*/ + ".then(") + this["tryCatchFunctionStr"]) + "(function(")); }else{ PL$34/*res*/["push"]("catch("); }; ; var PL$42/*temporaryPs*/; ; if((PL$32/*par*/["handler"] && PL$32/*par*/["handler"]["param"])){ PL$34/*res*/["push"](this["getVariableName"](PL$16/*identifierName*/(PL$32/*par*/["handler"]["param"]))); PL$42/*temporaryPs*/ = this["addLocalVariableTemporary"]({ "name": PL$16/*identifierName*/(PL$32/*par*/["handler"]["param"]), "typename": "var", "parameter": true }, PL$32/*par*/["handler"]); }else{ PL$34/*res*/["push"]("__dummy"); }; ; PL$34/*res*/["push"](")"); if(PL$32/*par*/["handler"]){ PL$40/*b*/ = PL$32/*par*/["handler"]["body"]; PL$41/*extraPar*/ = { }; PL$40/*b*/["brackets"] = true; if(PL$20/*checkPromising*/(PL$32/*par*/)){ PL$41/*extraPar*/["postCode"] = this["newResult"]((PL$39/*continuePromise*/ + ".resolve();")); }; ; PL$34/*res*/["push"](this["makeCompleteStatement"](this["blockCreator"](PL$40/*b*/, PL$41/*extraPar*/))); }else{ PL$34/*res*/["push"]("{"); if(PL$20/*checkPromising*/(PL$32/*par*/)){ PL$34/*res*/["push"]((PL$39/*continuePromise*/ + ".resolve();")); }; ; PL$34/*res*/["push"]("}"); }; ; if(PL$20/*checkPromising*/(PL$32/*par*/)){ PL$34/*res*/["push"]("));"); PL$34/*res*/["push"](this["newLine"]()); PL$34/*res*/["push"](PL$39/*continuePromise*/); PL$34/*res*/["push"](((".then(" + this["tryCatchFunctionStr"]) + "(function(){")); PL$34/*res*/["addPost"]((("}), " + this["catchFunctionStr"]) + ")")); }; ; if(PL$32/*par*/["finally"]){ PL$34/*res*/["push"]("finally"); PL$40/*b*/ = PL$32/*par*/["finally"]; PL$40/*b*/["brackers"] = true; PL$34/*res*/["push"](this["makeCompleteStatement"](this["blockCreator"](PL$40/*b*/))); }; ; if(PL$42/*temporaryPs*/){ PL$42/*temporaryPs*/["resolve"](); }; ; PL$34/*res*/["setType"](PL$19/*statementType*/); return PL$34/*res*/; ;}); this["expDebuggerStatement"] = (function(PL$32/*par*/){ ; var PL$34/*res*/ = this["newResult"](); ; PL$34/*res*/["push"]("debugger"); PL$34/*res*/["setType"](PL$19/*statementType*/); return PL$34/*res*/; ;}); this["expUpdateExpression"] = (function(PL$32/*par*/){ ; var PL$34/*res*/ = this["newResult"](); ; if(PL$32/*par*/["prefix"]){ PL$34/*res*/["push"](PL$32/*par*/["operator"]); }; ; PL$34/*res*/["pushType"](this["expectTypeVar"](this["parseExpression"](PL$32/*par*/["argument"]))); if(! PL$32/*par*/["prefix"]){ PL$34/*res*/["push"](PL$32/*par*/["operator"]); }; ; return PL$34/*res*/; ;}); this["expIdentifier"] = (function(PL$32/*par*/){ ; return this["getVariable"](PL$16/*identifierName*/(PL$32/*par*/["name"])); ;}); this["expLiteral"] = (function(PL$32/*par*/){ ; var PL$34/*res*/ = this["newResult"](); ; if(! PL$32/*par*/["originalText"]){ this["error"](PL$32/*par*/, PL$11/*errorMsg*/["internalOriginalTextMissing"]); }; ; switch (typeof PL$32/*par*/["value"]){ case "string": PL$34/*res*/["push"](PL$13/*stringEncodeStr*/(PL$32/*par*/["value"])); break;; case "number": if(this["asmMode"]){ PL$34/*res*/["push"](("" + PL$32/*par*/["originalText"])); break;; }; ; PL$34/*res*/["push"](("" + PL$32/*par*/["value"])); break;; case "boolean": if(PL$32/*par*/["value"]){ PL$34/*res*/["push"]("true"); }else{ PL$34/*res*/["push"]("false"); }; ; break;; default: if((PL$32/*par*/["value"] === null)){ PL$34/*res*/["push"]("null"); }else{ if((PL$32/*par*/["value"] && PL$32/*par*/["value"]["exec"])){ PL$34/*res*/["push"](("" + PL$32/*par*/["value"])); }else{ this["error"](PL$32/*par*/, PL$11/*errorMsg*/["internalUnknownLiteralType"]); }; }; ; }; ; PL$34/*res*/["setType"](this["getType"]("var")); return PL$34/*res*/; ;}); this["expPromiseExpression"] = (function(PL$43/*parExpression*/){ ; return this["dereference"](this["parseExpression"](PL$43/*parExpression*/)); ;}); this["dereference"] = (function(PL$44/*parRes*/){ ; if(this["asmMode"]){ this["error"](PL$44/*parRes*/, PL$11/*errorMsg*/["notPossibleWithinAsm"]); }; ; var PL$34/*res*/ = this["newResult"](); ; var PL$45/*expressionRes*/ = PL$44/*parRes*/; ; if((typeof PL$44/*parRes*/ == "string")){ PL$45/*expressionRes*/ = this["newResult"](); PL$45/*expressionRes*/["push"](PL$44/*parRes*/); }; ; var PL$46/*promiseNameStr*/ = this["getUniqueName"](); ; PL$34/*res*/["makePromising"](); PL$34/*res*/["setPromiseName"](PL$46/*promiseNameStr*/); var PL$47/*dereferencePre*/ = this["dereferencePromisePreCode"]({ "value": PL$45/*expressionRes*/ }); ; var PL$48/*preRes*/ = this["newResult"](); ; PL$48/*preRes*/["push"](PL$47/*dereferencePre*/); PL$48/*preRes*/["push"]((this["tryCatchFunctionStr"] + "(function(")); PL$48/*preRes*/["push"](PL$46/*promiseNameStr*/); PL$48/*preRes*/["push"]("){"); PL$34/*res*/["addPre"](PL$48/*preRes*/); var PL$49/*dereferencePost*/ = this["dereferencePromisePostCode"]({ "value": PL$45/*expressionRes*/ }); ; var PL$50/*postRes*/ = this["newResult"](); ; PL$50/*postRes*/["push"](("}), " + this["catchFunctionStr"])); PL$50/*postRes*/["push"](PL$49/*dereferencePost*/); PL$50/*postRes*/["push"](";"); PL$34/*res*/["addPost"](PL$50/*postRes*/); var PL$51/*promiseType*/ = PL$45/*expressionRes*/["getType"](); ; PL$34/*res*/["setType"](this["getClassFromPromiseOf"](PL$51/*promiseType*/)); return PL$34/*res*/; ;}); this["dereferenceStatement"] = (function(PL$44/*parRes*/){ ; return this["makeStatement"](this["dereference"](PL$44/*parRes*/)); ;}); this["expUnaryExpression"] = (function(PL$43/*parExpression*/){ ; var PL$34/*res*/ = this["newResult"](); ; PL$34/*res*/["push"](PL$43/*parExpression*/["operator"]); PL$34/*res*/["push"](" "); PL$34/*res*/["pushType"](this["expectTypeVar"](this["parseExpression"](PL$43/*parExpression*/["argument"]))); return PL$34/*res*/; ;}); this["expRequireExpression"] = (function(PL$43/*parExpression*/){ ; var PL$34/*res*/ = this["newResult"](); ; this["common"]["useRequire"] = true; var PL$45/*expressionRes*/ = this["newResult"](); ; PL$45/*expressionRes*/["push"]("__requireFun("); PL$45/*expressionRes*/["push"](this["parseExpression"](PL$43/*parExpression*/)); PL$45/*expressionRes*/["push"](")"); PL$45/*expressionRes*/["setType"]("var"); var PL$46/*promiseNameStr*/ = this["getUniqueName"](); ; PL$34/*res*/["makePromising"](); PL$34/*res*/["setPromiseName"](PL$46/*promiseNameStr*/); var PL$47/*dereferencePre*/ = this["dereferencePromisePreCode"]({ "value": PL$45/*expressionRes*/ }); ; var PL$48/*preRes*/ = this["newResult"](); ; PL$48/*preRes*/["push"](PL$47/*dereferencePre*/); PL$48/*preRes*/["push"]((this["tryCatchFunctionStr"] + "(function(")); PL$48/*preRes*/["push"](PL$46/*promiseNameStr*/); PL$48/*preRes*/["push"]("){"); PL$34/*res*/["addPre"](PL$48/*preRes*/); var PL$49/*dereferencePost*/ = this["dereferencePromisePostCode"]({ "value": PL$45/*expressionRes*/ }); ; var PL$50/*postRes*/ = this["newResult"](); ; PL$50/*postRes*/["push"](("}), " + this["catchFunctionStr"])); PL$50/*postRes*/["push"](PL$49/*dereferencePost*/); PL$50/*postRes*/["push"](";"); PL$34/*res*/["addPost"](PL$50/*postRes*/); PL$34/*res*/["setType"]("var"); return PL$34/*res*/; ;}); this["expNewExpression"] = (function(PL$32/*par*/){ ; var PL$34/*res*/ = this["newResult"](); ; var PL$52/*typed*/ = false; ; var PL$53/*type*/ = "var"; ; if((PL$32/*par*/["callee"] && (PL$32/*par*/["callee"]["type"] == "Identifier"))){ PL$53/*type*/ = this["getType"](PL$16/*identifierName*/(PL$32/*par*/["callee"]), PL$32/*par*/, { "dontThrow": true }); if(PL$53/*type*/){ PL$34/*res*/["push"]("new "); PL$34/*res*/["push"](this["getConstructorName"](PL$32/*par*/["callee"])); PL$34/*res*/["push"]("("); PL$52/*typed*/ = true; PL$34/*res*/["setType"](this["getConstructorReturnType"](PL$53/*type*/)); }; ; }; ; if(! PL$52/*typed*/){ PL$34/*res*/["push"]("new "); PL$34/*res*/["push"](this["expectTypeVar"](this["parseExpression"](PL$32/*par*/["callee"]))); PL$34/*res*/["push"]("("); }; ; var PL$37/*i*/ = 0; ; var PL$54/*constructorType*/; ; if(PL$52/*typed*/){ PL$54/*constructorType*/ = this["getConstructorType"]({ "type": PL$53/*type*/ }, PL$32/*par*/); }; ; for(PL$37/*i*/;(PL$37/*i*/ < PL$32/*par*/["arguments"]["length"]);++PL$37/*i*/){{ if(PL$37/*i*/){ PL$34/*res*/["push"](", "); }; ; var PL$55/*expression*/ = this["parseExpression"](PL$32/*par*/["arguments"][PL$37/*i*/]); ; if(PL$52/*typed*/){ PL$34/*res*/["push"](this["getPassAsTypeCode"]({ "value": PL$55/*expression*/, "valueType": PL$55/*expression*/["getType"](), "type": this["getFunctionArgumentType"](PL$54/*constructorType*/, PL$37/*i*/, PL$32/*par*/), "errorFun": this["getWarningFun"](PL$32/*par*/) })); }else{ PL$34/*res*/["push"](this["expectTypeVar"](PL$55/*expression*/)); }; ;}}; ; PL$34/*res*/["push"](")"); if(! PL$52/*typed*/){ PL$34/*res*/["setType"]("var"); }; ; return PL$34/*res*/; ;}); this["connectExpression"] = (function(PL$36/*parParsed*/){ ; var PL$34/*res*/ = this["newResult"](); ; if((PL$36/*parParsed*/["signal"]["type"] != "MemberExpression")){ this["error"](PL$36/*parParsed*/["signal"], PL$11/*errorMsg*/["expectedMemberExpression"]); }; ; if(PL$36/*parParsed*/["signal"]["computed"]){ this["error"](PL$36/*parParsed*/["signal"], PL$11/*errorMsg*/["noComputedMembersAllowed"]); }; ; var PL$56/*signalObject*/ = this["parseExpression"](PL$36/*parParsed*/["signal"]["object"]); ; var PL$57/*signalProperty*/ = PL$16/*identifierName*/(PL$36/*parParsed*/["signal"]["property"]); ; if(PL$36/*parParsed*/["slot"]){ if((PL$36/*parParsed*/["slot"]["type"] != "MemberExpression")){ this["error"](PL$36/*parParsed*/["slot"], PL$11/*errorMsg*/["expectedMemberExpression"]); }; ; if(PL$36/*parParsed*/["slot"]["computed"]){ this["error"](PL$36/*parParsed*/["slot"], PL$11/*errorMsg*/["noComputedMembersAllowed"]); }; ; var PL$58/*slotObject*/ = this["parseExpression"](PL$36/*parParsed*/["slot"]["object"]); ; var PL$59/*slotProperty*/ = PL$16/*identifierName*/(PL$36/*parParsed*/["slot"]["property"]); ; PL$34/*res*/["push"](this["connectSlotCode"]({ "signalObject": PL$56/*signalObject*/, "signalProperty": PL$57/*signalProperty*/, "slotObject": PL$58/*slotObject*/, "slotProperty": PL$59/*slotProperty*/, "errorFun": this["getWarningFun"](PL$36/*parParsed*/) })); }else{ if(PL$36/*parParsed*/["fun"]){ var PL$60/*fun*/ = this["parseExpression"](PL$36/*parParsed*/["fun"]); ; PL$34/*res*/["push"](this["connectFunCode"]({ "signalObject": PL$56/*signalObject*/, "signalProperty": PL$57/*signalProperty*/, "fun": PL$60/*fun*/, "errorFun": this["getWarningFun"](PL$36/*parParsed*/) })); }else{ this["error"](PL$36/*parParsed*/, PL$11/*errorMsg*/["unknownConnect"]); }; }; ; PL$34/*res*/["setType"]("var"); return PL$34/*res*/; ;}); this["expBinaryExpression"] = (function(PL$32/*par*/){ ; var PL$34/*res*/ = this["newResult"](); ; var PL$61/*left*/ = this["parseExpression"](PL$32/*par*/["left"]); ; var PL$62/*right*/ = this["parseExpression"](PL$32/*par*/["right"]); ; PL$34/*res*/["setType"]("var"); if(((PL$32/*par*/["operator"] == "||") && PL$32/*par*/["right"]["promising"])){ var PL$63/*ltype*/ = PL$61/*left*/["getType"](); ; var PL$64/*rtype*/ = PL$62/*right*/["getType"](); ; if(((PL$63/*ltype*/ !== this["getType"]("var")) || (PL$64/*rtype*/ !== this["getType"]("var")))){ this["error"](PL$32/*par*/, PL$11/*errorMsg*/["notImplemented"]); }; ; PL$34/*res*/["makePromising"](); var PL$65/*tempPromise*/ = this["getUniqueName"](); ; var PL$66/*tempValue*/ = this["getUniqueName"](); ; PL$34/*res*/["addPre"]("var "); PL$34/*res*/["addPre"](PL$65/*tempPromise*/); PL$34/*res*/["addPre"](((" = " + this["newPromiseStr"]()) + ";")); PL$34/*res*/["addPre"](this["newLine"]()); PL$34/*res*/["addPre"]("var "); PL$34/*res*/["addPre"](PL$66/*tempValue*/); PL$34/*res*/["addPre"](" = "); PL$34/*res*/["addPre"](PL$61/*left*/); PL$34/*res*/["addPre"](";"); PL$34/*res*/["addPre"](this["newLine"]()); PL$34/*res*/["addPre"]("if ("); PL$34/*res*/["addPre"](PL$66/*tempValue*/); PL$34/*res*/["addPre"]("){ "); PL$34/*res*/["addPre"](PL$65/*tempPromise*/); PL$34/*res*/["addPre"](".resolve("); PL$34/*res*/["addPre"](PL$66/*tempValue*/); PL$34/*res*/["addPre"](") }else{ "); var PL$67/*rightExtraCode*/ = this["newResult"](); ; PL$67/*rightExtraCode*/["push"](PL$65/*tempPromise*/); PL$67/*rightExtraCode*/["push"](".resolve("); PL$67/*rightExtraCode*/["push"](PL$62/*right*/); PL$67/*rightExtraCode*/["push"](");"); PL$67/*rightExtraCode*/["push"](this["newLine"]()); PL$34/*res*/["addPre"](this["makeCompleteStatement"](PL$67/*rightExtraCode*/)); PL$34/*res*/["addPre"]("};"); PL$34/*res*/["addPre"](this["newLine"]()); PL$34/*res*/["addPre"](PL$65/*tempPromise*/); PL$34/*res*/["addPre"](".then("); PL$34/*res*/["setPromiseName"](this["getUniqueName"]()); PL$34/*res*/["addPre"](PL$34/*res*/["getPromiseName"]()); PL$34/*res*/["addPre"]("){"); PL$34/*res*/["addPost"]("});"); }else{ PL$34/*res*/["push"](this["getBinaryExpressionCode"]({ "left": PL$61/*left*/, "right": PL$62/*right*/, "operator": PL$32/*par*/["operator"], "errorFun": this["getWarningFun"](PL$32/*par*/) })); }; ; return PL$34/*res*/; ;}); this["expMemberExpression"] = (function(PL$32/*par*/){ ; var PL$34/*res*/ = this["newResult"](); ; var PL$68/*base*/ = this["parseExpression"](PL$32/*par*/["object"]); ; PL$34/*res*/["pushType"](this["getGetPropertyCode"]({ "instance": PL$68/*base*/, "property": (PL$32/*par*/["computed"] ? undefined : PL$16/*identifierName*/(PL$32/*par*/["property"])), "propertyValue": (PL$32/*par*/["computed"] ? this["expectTypeVar"](this["parseExpression"](PL$32/*par*/["property"])) : undefined), "errorFun": this["getWarningFun"](PL$32/*par*/) })); return PL$34/*res*/; ;}); this["expAssignmentExpression"] = (function(PL$32/*par*/){ ; var PL$34/*res*/ = this["newResult"](); ; if((PL$32/*par*/["left"]["type"] == "MemberExpression")){ var PL$68/*base*/ = this["parseExpression"](PL$32/*par*/["left"]["object"]); ; var PL$69/*property*/; ; var PL$70/*propertyValue*/; ; if(PL$32/*par*/["left"]["computed"]){ PL$70/*propertyValue*/ = this["expectTypeVar"](this["parseExpression"](PL$32/*par*/["left"]["property"])); }else{ PL$69/*property*/ = PL$16/*identifierName*/(PL$32/*par*/["left"]["property"]); }; ; PL$34/*res*/["pushType"](this["getSetPropertyCode"]({ "instance": PL$68/*base*/, "propertyValue": PL$70/*propertyValue*/, "property": PL$69/*property*/, "computed": PL$32/*par*/["left"]["computed"], "value": this["parseExpression"](PL$32/*par*/["right"]), "operator": PL$32/*par*/["operator"], "errorFun": this["getWarningFun"](PL$32/*par*/) })); }else{ PL$34/*res*/["pushType"](this["getSetVariableCode"]({ "instance": this["parseExpression"](PL$32/*par*/["left"]), "assignmentType": PL$32/*par*/["left"]["type"], "value": this["parseExpression"](PL$32/*par*/["right"]), "operator": PL$32/*par*/["operator"], "errorFun": this["getWarningFun"](PL$32/*par*/) })); }; ; return PL$34/*res*/; ;}); this["expCallExpression"] = (function(PL$32/*par*/){ ; var PL$34/*res*/ = this["newResult"](); ; var PL$37/*i*/ = 0; ; var PL$71/*l*/; ; var PL$72/*calleeRes*/ = this["parseExpression"](PL$32/*par*/["callee"]); ; var PL$73/*args*/ = [ ]; ; if(PL$32/*par*/["arguments"]){ PL$71/*l*/ = PL$32/*par*/["arguments"]["length"]; for(PL$37/*i*/ = 0;(PL$37/*i*/ < PL$71/*l*/);++PL$37/*i*/){{ var PL$74/*argType*/ = this["getFunctionArgumentType"](PL$72/*calleeRes*/["getType"](), PL$37/*i*/, PL$32/*par*/["arguments"][PL$37/*i*/]); ; var PL$75/*argRes*/ = this["parseExpression"](PL$32/*par*/["arguments"][PL$37/*i*/]); ; PL$75/*argRes*/ = this["getPassAsTypeCode"]({ "value": PL$75/*argRes*/, "valueType": PL$75/*argRes*/["getType"](), "type": PL$74/*argType*/, "errorFun": this["getWarningFun"](PL$32/*par*/) }); PL$73/*args*/["push"]({ "type": PL$75/*argRes*/["getType"](), "value": PL$75/*argRes*/ });}}; ; }; ; PL$34/*res*/["push"](this["callClassSystem"]("getCallCode", { "type": PL$72/*calleeRes*/["getType"](), "instance": PL$72/*calleeRes*/, "arguments": PL$73/*args*/ })); PL$34/*res*/["setType"](this["getFunctionReturnType"](PL$72/*calleeRes*/["getType"](), PL$32/*par*/)); return PL$34/*res*/; ;}); this["expReturnStatement"] = (function(PL$32/*par*/, PL$76/*closingFun*/){ ; if(this["preventreturn"]){ this["error"](PL$32/*par*/, PL$11/*errorMsg*/["returnNotAllowedHere"]); }; ; var PL$34/*res*/ = this["newResult"](); ; var PL$77/*valueRes*/; ; if(PL$32/*par*/["argument"]){ PL$77/*valueRes*/ = this["newResult"](); var PL$78/*passAsType*/ = this["getReturnType"](); ; if(this["promising"]){ PL$78/*passAsType*/ = this["getClassFromPromiseOf"](PL$78/*passAsType*/); }; ; PL$78/*passAsType*/ = this["createTemporaryTrackedClass"](PL$78/*passAsType*/); var PL$79/*v*/ = this["parseExpression"](PL$32/*par*/["argument"]); ; PL$77/*valueRes*/["push"](this["getPassAsTypeCode"]({ "value": PL$79/*v*/, "valueType": PL$79/*v*/["getType"](), "type": PL$78/*passAsType*/, "errorFun": this["getWarningFun"](PL$32/*par*/) })); }; ; PL$34/*res*/["push"](this["getReturnCode"]({ "return": true, "value": PL$77/*valueRes*/ }, PL$32/*par*/)); PL$34/*res*/["setType"](PL$19/*statementType*/); return PL$34/*res*/; ;}); ;}); ; PL$33/*f*/["apply"](PL$31/*parInstance*/, [ PL$32/*par*/ ]); ;})); return; PL$1.resolve(); return;}), PL$4/*catch rejected*/); ;}), PL$4/*catch rejected*/); ;}), PL$4/*catch rejected*/); ;}), PL$4/*catch rejected*/); ;}), PL$4/*catch rejected*/); ;}), PL$4/*catch rejected*/); ; })();return PL$1; })(); ;; return PL$1}; if (typeof exports == "object" && typeof module == "object"){ // CommonJS module.exports = __modFun(function(modulesAr, callback, errBack){ // the require function for CommonJs var args = []; try{ var i = 0; var l = modulesAr.length; for (i; i < l; ++i){ args.push(require(modulesAr[i])); }; }catch(e){ errBack(e); return; }; callback.apply(callback, args); }, require("promiseland")); }else if (typeof define == "function" && define.amd){ // AMD define(["require", "promiseland"], __modFun); }else{ // Plain browser env __modFun(function(){ throw { msg: "require not possible in non loader mode" }; }); }; })();