UNPKG

@kpi4me/golden-layout

Version:

A multi-screen javascript Layout manager https://golden-layout.com

1,662 lines (1,570 loc) 612 kB
module.exports = (function(){ /* * Generated by PEG.js 0.7.0. * * http://pegjs.majda.cz/ */ function subclass(child, parent) { function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); } function quote(s) { /* * ECMA-262, 5th ed., 7.8.4: All characters may appear literally in a * string literal except for the closing quote character, backslash, * carriage return, line separator, paragraph separator, and line feed. * Any character may appear in the form of an escape sequence. * * For portability, we also escape escape all control and non-ASCII * characters. Note that "\0" and "\v" escape sequences are not used * because JSHint does not like the first and IE the second. */ return '"' + s .replace(/\\/g, '\\\\') // backslash .replace(/"/g, '\\"') // closing quote character .replace(/\x08/g, '\\b') // backspace .replace(/\t/g, '\\t') // horizontal tab .replace(/\n/g, '\\n') // line feed .replace(/\f/g, '\\f') // form feed .replace(/\r/g, '\\r') // carriage return .replace(/[\x00-\x07\x0B\x0E-\x1F\x80-\uFFFF]/g, escape) + '"'; } var result = { /* * Parses the input with a generated parser. If the parsing is successful, * returns a value explicitly or implicitly specified by the grammar from * which the parser was generated (see |PEG.buildParser|). If the parsing is * unsuccessful, throws |PEG.parser.SyntaxError| describing the error. */ parse: function(input) { var parseFunctions = { "program": parse_program }; var options = arguments.length > 1 ? arguments[1] : {}, startRule; if (options.startRule !== undefined) { startRule = options.startRule; if (parseFunctions[startRule] === undefined) { throw new Error("Can't start parsing from rule " + quote(startRule) + "."); } } else { startRule = "program"; } var pos = 0; var reportedPos = 0; var cachedReportedPos = 0; var cachedReportedPosDetails = { line: 1, column: 1, seenCR: false }; var reportFailures = 0; var rightmostFailuresPos = 0; var rightmostFailuresExpected = []; var cache = {}; function padLeft(input, padding, length) { var result = input; var padLength = length - input.length; for (var i = 0; i < padLength; i++) { result = padding + result; } return result; } function escape(ch) { var charCode = ch.charCodeAt(0); var escapeChar; var length; if (charCode <= 0xFF) { escapeChar = 'x'; length = 2; } else { escapeChar = 'u'; length = 4; } return '\\' + escapeChar + padLeft(charCode.toString(16).toUpperCase(), '0', length); } function computeReportedPosDetails() { function advanceCachedReportedPos() { var ch; for (; cachedReportedPos < reportedPos; cachedReportedPos++) { ch = input.charAt(cachedReportedPos); if (ch === "\n") { if (!cachedReportedPosDetails.seenCR) { cachedReportedPosDetails.line++; } cachedReportedPosDetails.column = 1; cachedReportedPosDetails.seenCR = false; } else if (ch === "\r" || ch === "\u2028" || ch === "\u2029") { cachedReportedPosDetails.line++; cachedReportedPosDetails.column = 1; cachedReportedPosDetails.seenCR = true; } else { cachedReportedPosDetails.column++; cachedReportedPosDetails.seenCR = false; } } } if (cachedReportedPos !== reportedPos) { if (cachedReportedPos > reportedPos) { cachedReportedPos = 0; cachedReportedPosDetails = { line: 1, column: 1, seenCR: false }; } advanceCachedReportedPos(); } return cachedReportedPosDetails; } function text() { return input.substring(reportedPos, pos); } function offset() { return reportedPos; } function line() { return computeReportedPosDetails().line; } function column() { return computeReportedPosDetails().column; } function matchFailed(failure) { if (pos < rightmostFailuresPos) { return; } if (pos > rightmostFailuresPos) { rightmostFailuresPos = pos; rightmostFailuresExpected = []; } rightmostFailuresExpected.push(failure); } function parse_program() { var cacheKey = "program@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var r0, r1, r2, r3, r4, r5; r1 = pos; r2 = pos; r3 = parse_TERMINATOR(); r3 = r3 !== null ? r3 : ""; if (r3 !== null) { r4 = parse__(); if (r4 !== null) { r5 = parse_toplevelBlock(); r5 = r5 !== null ? r5 : ""; if (r5 !== null) { r0 = [r3, r4, r5]; } else { r0 = null; pos = r2; } } else { r0 = null; pos = r2; } } else { r0 = null; pos = r2; } if (r0 !== null) { reportedPos = r1; r0 = (function(leader, b) { return rp(new CS.Program(b || null)); })(r3, r5); } if (r0 === null) { pos = r1; } cache[cacheKey] = { nextPos: pos, result: r0 }; return r0; } function parse_toplevelBlock() { var cacheKey = "toplevelBlock@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, r10; r1 = pos; r2 = pos; r3 = parse_toplevelStatement(); if (r3 !== null) { r4 = []; r6 = pos; r7 = parse__(); if (r7 !== null) { r8 = parse_TERMINATOR(); if (r8 !== null) { r9 = parse__(); if (r9 !== null) { r10 = parse_toplevelStatement(); if (r10 !== null) { r5 = [r7, r8, r9, r10]; } else { r5 = null; pos = r6; } } else { r5 = null; pos = r6; } } else { r5 = null; pos = r6; } } else { r5 = null; pos = r6; } while (r5 !== null) { r4.push(r5); r6 = pos; r7 = parse__(); if (r7 !== null) { r8 = parse_TERMINATOR(); if (r8 !== null) { r9 = parse__(); if (r9 !== null) { r10 = parse_toplevelStatement(); if (r10 !== null) { r5 = [r7, r8, r9, r10]; } else { r5 = null; pos = r6; } } else { r5 = null; pos = r6; } } else { r5 = null; pos = r6; } } else { r5 = null; pos = r6; } } if (r4 !== null) { r5 = parse_TERMINATOR(); r5 = r5 !== null ? r5 : ""; if (r5 !== null) { r0 = [r3, r4, r5]; } else { r0 = null; pos = r2; } } else { r0 = null; pos = r2; } } else { r0 = null; pos = r2; } if (r0 !== null) { reportedPos = r1; r0 = (function(s, ss) { return rp(new CS.Block([s].concat(ss.map(function(s){ return s[3]; })))); })(r3, r4); } if (r0 === null) { pos = r1; } cache[cacheKey] = { nextPos: pos, result: r0 }; return r0; } function parse_toplevelStatement() { var cacheKey = "toplevelStatement@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var r0, r1, r2, r3, r4; r1 = pos; r2 = pos; r4 = pos; reportFailures++; r3 = parse_return(); if (r3 === null) { r3 = parse_continue(); if (r3 === null) { r3 = parse_break(); } } reportFailures--; if (r3 === null) { r3 = ""; } else { r3 = null; pos = r4; } if (r3 !== null) { r4 = parse_statement(); if (r4 !== null) { r0 = [r3, r4]; } else { r0 = null; pos = r2; } } else { r0 = null; pos = r2; } if (r0 !== null) { reportedPos = r1; r0 = (function(s) { return s; })(r4); } if (r0 === null) { pos = r1; } cache[cacheKey] = { nextPos: pos, result: r0 }; return r0; } function parse_block() { var cacheKey = "block@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, r10; r1 = pos; r2 = pos; r3 = parse_statement(); if (r3 !== null) { r4 = []; r6 = pos; r7 = parse__(); if (r7 !== null) { r8 = parse_TERMINATOR(); if (r8 !== null) { r9 = parse__(); if (r9 !== null) { r10 = parse_statement(); if (r10 !== null) { r5 = [r7, r8, r9, r10]; } else { r5 = null; pos = r6; } } else { r5 = null; pos = r6; } } else { r5 = null; pos = r6; } } else { r5 = null; pos = r6; } while (r5 !== null) { r4.push(r5); r6 = pos; r7 = parse__(); if (r7 !== null) { r8 = parse_TERMINATOR(); if (r8 !== null) { r9 = parse__(); if (r9 !== null) { r10 = parse_statement(); if (r10 !== null) { r5 = [r7, r8, r9, r10]; } else { r5 = null; pos = r6; } } else { r5 = null; pos = r6; } } else { r5 = null; pos = r6; } } else { r5 = null; pos = r6; } } if (r4 !== null) { r5 = parse_TERMINATOR(); r5 = r5 !== null ? r5 : ""; if (r5 !== null) { r0 = [r3, r4, r5]; } else { r0 = null; pos = r2; } } else { r0 = null; pos = r2; } } else { r0 = null; pos = r2; } if (r0 !== null) { reportedPos = r1; r0 = (function(s, ss) { return rp(new CS.Block([s].concat(ss.map(function(s){ return s[3]; })))); })(r3, r4); } if (r0 === null) { pos = r1; } cache[cacheKey] = { nextPos: pos, result: r0 }; return r0; } function parse_statement() { var cacheKey = "statement@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var r0; r0 = parse_expression(); if (r0 === null) { r0 = parse_return(); if (r0 === null) { r0 = parse_continue(); if (r0 === null) { r0 = parse_break(); if (r0 === null) { r0 = parse_throw(); if (r0 === null) { r0 = parse_debugger(); } } } } } cache[cacheKey] = { nextPos: pos, result: r0 }; return r0; } function parse_expression() { var cacheKey = "expression@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var r0; r0 = parse_expressionworthy(); if (r0 === null) { r0 = parse_seqExpression(); } cache[cacheKey] = { nextPos: pos, result: r0 }; return r0; } function parse_secondaryStatement() { var cacheKey = "secondaryStatement@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var r0; r0 = parse_secondaryExpression(); if (r0 === null) { r0 = parse_return(); if (r0 === null) { r0 = parse_continue(); if (r0 === null) { r0 = parse_break(); if (r0 === null) { r0 = parse_throw(); if (r0 === null) { r0 = parse_debugger(); } } } } } cache[cacheKey] = { nextPos: pos, result: r0 }; return r0; } function parse_secondaryExpression() { var cacheKey = "secondaryExpression@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var r0; r0 = parse_expressionworthy(); if (r0 === null) { r0 = parse_assignmentExpression(); } cache[cacheKey] = { nextPos: pos, result: r0 }; return r0; } function parse_secondaryExpressionNoImplicitObjectCall() { var cacheKey = "secondaryExpressionNoImplicitObjectCall@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var r0; r0 = parse_expressionworthy(); if (r0 === null) { r0 = parse_assignmentExpressionNoImplicitObjectCall(); } cache[cacheKey] = { nextPos: pos, result: r0 }; return r0; } function parse_expressionworthy() { var cacheKey = "expressionworthy@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var r0; r0 = parse_functionLiteral(); if (r0 === null) { r0 = parse_conditional(); if (r0 === null) { r0 = parse_while(); if (r0 === null) { r0 = parse_loop(); if (r0 === null) { r0 = parse_try(); if (r0 === null) { r0 = parse_forOf(); if (r0 === null) { r0 = parse_forIn(); if (r0 === null) { r0 = parse_switch(); if (r0 === null) { r0 = parse_implicitObjectLiteral(); if (r0 === null) { r0 = parse_class(); } } } } } } } } } cache[cacheKey] = { nextPos: pos, result: r0 }; return r0; } function parse_seqExpression() { var cacheKey = "seqExpression@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, r10; r1 = pos; r2 = pos; r3 = parse_postfixControlFlowExpression(); if (r3 !== null) { r5 = pos; r6 = parse__(); if (r6 !== null) { if (input.charCodeAt(pos) === 59) { r7 = ";"; pos++; } else { r7 = null; if (reportFailures === 0) { matchFailed("\";\""); } } if (r7 !== null) { r8 = parse_TERMINATOR(); r8 = r8 !== null ? r8 : ""; if (r8 !== null) { r9 = parse__(); if (r9 !== null) { r10 = parse_expression(); if (r10 !== null) { r4 = [r6, r7, r8, r9, r10]; } else { r4 = null; pos = r5; } } else { r4 = null; pos = r5; } } else { r4 = null; pos = r5; } } else { r4 = null; pos = r5; } } else { r4 = null; pos = r5; } r4 = r4 !== null ? r4 : ""; if (r4 !== null) { r0 = [r3, r4]; } else { r0 = null; pos = r2; } } else { r0 = null; pos = r2; } if (r0 !== null) { reportedPos = r1; r0 = (function(left, right) { if(!right) return left; return rp(new CS.SeqOp(left, right[4])); })(r3, r4); } if (r0 === null) { pos = r1; } cache[cacheKey] = { nextPos: pos, result: r0 }; return r0; } function parse_postfixControlFlowExpression() { var cacheKey = "postfixControlFlowExpression@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var r0, r1, r2, r3, r4, r5, r6, r7, r8; r1 = pos; r2 = pos; r3 = parse_secondaryStatement(); if (r3 !== null) { r4 = []; r6 = pos; r7 = parse__(); if (r7 !== null) { r8 = parse_postfixControlFlowOp(); if (r8 !== null) { r5 = [r7, r8]; } else { r5 = null; pos = r6; } } else { r5 = null; pos = r6; } while (r5 !== null) { r4.push(r5); r6 = pos; r7 = parse__(); if (r7 !== null) { r8 = parse_postfixControlFlowOp(); if (r8 !== null) { r5 = [r7, r8]; } else { r5 = null; pos = r6; } } else { r5 = null; pos = r6; } } if (r4 !== null) { r0 = [r3, r4]; } else { r0 = null; pos = r2; } } else { r0 = null; pos = r2; } if (r0 !== null) { reportedPos = r1; r0 = (function(expr, postfixes) { return foldl(function(expr, postfixContainer){ var constructor, cond, postfix = postfixContainer[1], indicator = postfix.type; switch(indicator){ case 'if': case 'unless': constructor = ('unless' === indicator) ? CS.NegatedConditional : CS.Conditional; cond = ('unless' === indicator) ? new CS.LogicalNotOp(postfix.cond).g() : postfix.cond; return rp(new constructor(cond, expr, null)); case 'while': case 'until': constructor = ('until' === indicator) ? CS.NegatedWhile : CS.While; cond = ('until' === indicator) ? new CS.LogicalNotOp(postfix.cond).g() : postfix.cond; return rp(new constructor(cond, expr)); case 'for-in': return rp(new CS.ForIn(postfix.val, postfix.key, postfix.list, postfix.step, postfix.filter, expr)); case 'for-of': return rp(new CS.ForOf(postfix.own, postfix.key, postfix.val, postfix.obj, postfix.filter, expr)); } }, expr, postfixes) })(r3, r4); } if (r0 === null) { pos = r1; } cache[cacheKey] = { nextPos: pos, result: r0 }; return r0; } function parse_postfixControlFlowOp() { var cacheKey = "postfixControlFlowOp@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17; r1 = pos; r2 = pos; r3 = parse_IF(); if (r3 === null) { r3 = parse_UNLESS(); } if (r3 !== null) { r4 = parse__(); if (r4 !== null) { r5 = parse_assignmentExpression(); if (r5 !== null) { r0 = [r3, r4, r5]; } else { r0 = null; pos = r2; } } else { r0 = null; pos = r2; } } else { r0 = null; pos = r2; } if (r0 !== null) { reportedPos = r1; r0 = (function(kw, e) { return {type: kw, cond: e}; })(r3, r5); } if (r0 === null) { pos = r1; } if (r0 === null) { r1 = pos; r2 = pos; r3 = parse_WHILE(); if (r3 === null) { r3 = parse_UNTIL(); } if (r3 !== null) { r4 = parse__(); if (r4 !== null) { r5 = parse_assignmentExpression(); if (r5 !== null) { r0 = [r3, r4, r5]; } else { r0 = null; pos = r2; } } else { r0 = null; pos = r2; } } else { r0 = null; pos = r2; } if (r0 !== null) { reportedPos = r1; r0 = (function(kw, e) { return {type: kw, cond: e}; })(r3, r5); } if (r0 === null) { pos = r1; } if (r0 === null) { r1 = pos; r2 = pos; r3 = parse_FOR(); if (r3 !== null) { r4 = parse__(); if (r4 !== null) { r6 = pos; r7 = parse_Assignable(); if (r7 !== null) { r8 = parse__(); if (r8 !== null) { r10 = pos; if (input.charCodeAt(pos) === 44) { r11 = ","; pos++; } else { r11 = null; if (reportFailures === 0) { matchFailed("\",\""); } } if (r11 !== null) { r12 = parse__(); if (r12 !== null) { r13 = parse_Assignable(); if (r13 !== null) { r14 = parse__(); if (r14 !== null) { r9 = [r11, r12, r13, r14]; } else { r9 = null; pos = r10; } } else { r9 = null; pos = r10; } } else { r9 = null; pos = r10; } } else { r9 = null; pos = r10; } r9 = r9 !== null ? r9 : ""; if (r9 !== null) { r5 = [r7, r8, r9]; } else { r5 = null; pos = r6; } } else { r5 = null; pos = r6; } } else { r5 = null; pos = r6; } r5 = r5 !== null ? r5 : ""; if (r5 !== null) { r6 = parse_IN(); if (r6 !== null) { r7 = parse__(); if (r7 !== null) { r8 = parse_assignmentExpression(); if (r8 !== null) { r10 = pos; r11 = parse__(); if (r11 !== null) { r12 = parse_BY(); if (r12 !== null) { r13 = parse__(); if (r13 !== null) { r14 = parse_assignmentExpression(); if (r14 !== null) { r9 = [r11, r12, r13, r14]; } else { r9 = null; pos = r10; } } else { r9 = null; pos = r10; } } else { r9 = null; pos = r10; } } else { r9 = null; pos = r10; } r9 = r9 !== null ? r9 : ""; if (r9 !== null) { r11 = pos; r12 = parse__(); if (r12 !== null) { r13 = parse_WHEN(); if (r13 !== null) { r14 = parse__(); if (r14 !== null) { r15 = parse_assignmentExpression(); if (r15 !== null) { r10 = [r12, r13, r14, r15]; } else { r10 = null; pos = r11; } } else { r10 = null; pos = r11; } } else { r10 = null; pos = r11; } } else { r10 = null; pos = r11; } r10 = r10 !== null ? r10 : ""; if (r10 !== null) { r0 = [r3, r4, r5, r6, r7, r8, r9, r10]; } else { r0 = null; pos = r2; } } else { r0 = null; pos = r2; } } else { r0 = null; pos = r2; } } else { r0 = null; pos = r2; } } else { r0 = null; pos = r2; } } else { r0 = null; pos = r2; } } else { r0 = null; pos = r2; } } else { r0 = null; pos = r2; } if (r0 !== null) { reportedPos = r1; r0 = (function(maybeVal, list, maybeStep, maybeFilter) { var val = maybeVal ? maybeVal[0] : null, key = maybeVal && maybeVal[2] ? maybeVal[2][2] : null, step = maybeStep ? maybeStep[3] : new CS.Int(1).r('1').g(), filter = maybeFilter ? maybeFilter[3] : null; return 0, { type: 'for-in' , val: val, key: key, list: list, step: step, filter: filter }; })(r5, r8, r9, r10); } if (r0 === null) { pos = r1; } if (r0 === null) { r1 = pos; r2 = pos; r3 = parse_FOR(); if (r3 !== null) { r4 = parse__(); if (r4 !== null) { r6 = pos; r7 = parse_OWN(); if (r7 !== null) { r8 = parse__(); if (r8 !== null) { r5 = [r7, r8]; } else { r5 = null; pos = r6; } } else { r5 = null; pos = r6; } r5 = r5 !== null ? r5 : ""; if (r5 !== null) { r6 = parse_Assignable(); if (r6 !== null) { r7 = parse__(); if (r7 !== null) { r9 = pos; if (input.charCodeAt(pos) === 44) { r10 = ","; pos++; } else { r10 = null; if (reportFailures === 0) { matchFailed("\",\""); } } if (r10 !== null) { r11 = parse__(); if (r11 !== null) { r12 = parse_Assignable(); if (r12 !== null) { r13 = parse__(); if (r13 !== null) { r8 = [r10, r11, r12, r13]; } else { r8 = null; pos = r9; } } else { r8 = null; pos = r9; } } else { r8 = null; pos = r9; } } else { r8 = null; pos = r9; } r8 = r8 !== null ? r8 : ""; if (r8 !== null) { r9 = parse_OF(); if (r9 !== null) { r10 = parse__(); if (r10 !== null) { r11 = parse_assignmentExpression(); if (r11 !== null) { r13 = pos; r14 = parse__(); if (r14 !== null) { r15 = parse_WHEN(); if (r15 !== null) { r16 = parse__(); if (r16 !== null) { r17 = parse_assignmentExpression(); if (r17 !== null) { r12 = [r14, r15, r16, r17]; } else { r12 = null; pos = r13; } } else { r12 = null; pos = r13; } } else { r12 = null; pos = r13; } } else { r12 = null; pos = r13; } r12 = r12 !== null ? r12 : ""; if (r12 !== null) { r0 = [r3, r4, r5, r6, r7, r8, r9, r10, r11, r12]; } else { r0 = null; pos = r2; } } else { r0 = null; pos = r2; } } else { r0 = null; pos = r2; } } else { r0 = null; pos = r2; } } else { r0 = null; pos = r2; } } else { r0 = null; pos = r2; } } else { r0 = null; pos = r2; } } else { r0 = null; pos = r2; } } else { r0 = null; pos = r2; } } else { r0 = null; pos = r2; } if (r0 !== null) { reportedPos = r1; r0 = (function(maybeOwn, key, maybeVal, obj, maybeFilter) { var own = !!maybeOwn, val = maybeVal ? maybeVal[2] : null, filter = maybeFilter ? maybeFilter[3] : null; return 0, { type: 'for-of' , own: own, key: key, val: val, obj: obj, filter: filter }; })(r5, r6, r8, r11, r12); } if (r0 === null) { pos = r1; } } } } cache[cacheKey] = { nextPos: pos, result: r0 }; return r0; } function parse_assignmentExpression() { var cacheKey = "assignmentExpression@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var r0; r0 = parse_assignmentOp(); if (r0 === null) { r0 = parse_compoundAssignmentOp(); if (r0 === null) { r0 = parse_existsAssignmentOp(); if (r0 === null) { r0 = parse_binaryExpression(); } } } cache[cacheKey] = { nextPos: pos, result: r0 }; return r0; } function parse_assignmentOp() { var cacheKey = "assignmentOp@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12; r1 = pos; r2 = pos; r3 = parse_Assignable(); if (r3 !== null) { r4 = parse__(); if (r4 !== null) { if (input.charCodeAt(pos) === 61) { r5 = "="; pos++; } else { r5 = null; if (reportFailures === 0) { matchFailed("\"=\""); } } if (r5 !== null) { r7 = pos; reportFailures++; if (input.charCodeAt(pos) === 61) { r6 = "="; pos++; } else { r6 = null; if (reportFailures === 0) { matchFailed("\"=\""); } } reportFailures--; if (r6 === null) { r6 = ""; } else { r6 = null; pos = r7; } if (r6 !== null) { r8 = pos; r9 = pos; r10 = parse_TERMINDENT(); if (r10 !== null) { r11 = parse_secondaryExpression(); if (r11 !== null) { r12 = parse_DEDENT(); if (r12 !== null) { r7 = [r10, r11, r12]; } else { r7 = null; pos = r9; } } else { r7 = null; pos = r9; } } else { r7 = null; pos = r9; } if (r7 !== null) { reportedPos = r8; r7 = (function(e) { return e; })(r11); } if (r7 === null) { pos = r8; } if (r7 === null) { r8 = pos; r9 = pos; r10 = parse_TERMINATOR(); r10 = r10 !== null ? r10 : ""; if (r10 !== null) { r11 = parse__(); if (r11 !== null) { r12 = parse_secondaryExpression(); if (r12 !== null) { r7 = [r10, r11, r12]; } else { r7 = null; pos = r9; } } else { r7 = null; pos = r9; } } else { r7 = null; pos = r9; } if (r7 !== null) { reportedPos = r8; r7 = (function(e) { return e; })(r12); } if (r7 === null) { pos = r8; } } if (r7 !== null) { r0 = [r3, r4, r5, r6, r7]; } else { r0 = null; pos = r2; } } else { r0 = null; pos = r2; } } else { r0 = null; pos = r2; } } else { r0 = null; pos = r2; } } else { r0 = null; pos = r2; } if (r0 !== null) { reportedPos = r1; r0 = (function(left, right) { return rp(new CS.AssignOp(left, right)); })(r3, r7); } if (r0 === null) { pos = r1; } cache[cacheKey] = { nextPos: pos, result: r0 }; return r0; } function parse_compoundAssignmentOp() { var cacheKey = "compoundAssignmentOp@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13; r1 = pos; r2 = pos; r3 = parse_CompoundAssignable(); if (r3 !== null) { r4 = parse__(); if (r4 !== null) { r6 = pos; reportFailures++; if (input.charCodeAt(pos) === 63) { r5 = "?"; pos++; } else { r5 = null; if (reportFailures === 0) { matchFailed("\"?\""); } } reportFailures--; if (r5 === null) { r5 = ""; } else { r5 = null; pos = r6; } if (r5 !== null) { r6 = parse_CompoundAssignmentOperators(); if (r6 !== null) { if (input.charCodeAt(pos) === 61) { r7 = "="; pos++; } else { r7 = null; if (reportFailures === 0) { matchFailed("\"=\""); } } if (r7 !== null) { r9 = pos; r10 = pos; r11 = parse_TERMINDENT(); if (r11 !== null) { r12 = parse_secondaryExpression(); if (r12 !== null) { r13 = parse_DEDENT(); if (r13 !== null) { r8 = [r11, r12, r13]; } else { r8 = null; pos = r10; } } else { r8 = null; pos = r10; } } else { r8 = null; pos = r10; } if (r8 !== null) { reportedPos = r9; r8 = (function(e) { return e; })(r12); } if (r8 === null) { pos = r9; } if (r8 === null) { r9 = pos; r10 = pos; r11 = parse_TERMINATOR(); r11 = r11 !== null ? r11 : ""; if (r11 !== null) { r12 = parse__(); if (r12 !== null) { r13 = parse_secondaryExpression(); if (r13 !== null) { r8 = [r11, r12, r13]; } else { r8 = null; pos = r10; } } else { r8 = null; pos = r10; } } else { r8 = null; pos = r10; } if (r8 !== null) { reportedPos = r9; r8 = (function(e) { return e; })(r13); } if (r8 === null) { pos = r9; } } if (r8 !== null) { r0 = [r3, r4, r5, r6, r7, r8]; } else { r0 = null; pos = r2; } } else { r0 = null; pos = r2; } } else { r0 = null; pos = r2; } } else { r0 = null; pos = r2; } } else { r0 = null; pos = r2; } } else { r0 = null; pos = r2; } if (r0 !== null) { reportedPos = r1; r0 = (function(left, op, right) { return rp(new CS.CompoundAssignOp(constructorLookup[op].prototype.className, left, right)); })(r3, r6, r8); } if (r0 === null) { pos = r1; } cache[cacheKey] = { nextPos: pos, result: r0 }; return r0; } function parse_CompoundAssignmentOperators() { var cacheKey = "CompoundAssignmentOperators@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var r0, r1, r2, r3, r4, r5; r1 = pos; if (input.substr(pos, 2) === "&&") { r0 = "&&"; pos += 2; } else { r0 = null; if (reportFailures === 0) { matchFailed("\"&&\""); } } if (r0 === null) { r0 = parse_AND(); if (r0 === null) { if (input.substr(pos, 2) === "||") { r0 = "||"; pos += 2; } else { r0 = null; if (reportFailures === 0) { matchFailed("\"||\""); } } if (r0 === null) { r0 = parse_OR(); if (r0 === null) { if (input.substr(pos, 2) === "**") { r0 = "**"; pos += 2; } else { r0 = null; if (reportFailures === 0) { matchFailed("\"**\""); } } if (r0 === null) { if (/^[?&\^|*\/%]/.test(input.charAt(pos))) { r0 = input.charAt(pos); pos++; } else { r0 = null; if (reportFailures === 0) { matchFailed("[?&\\^|*\\/%]"); } } if (r0 === null) { r2 = pos; if (input.charCodeAt(pos) === 43) { r3 = "+"; pos++; } else { r3 = null; if (reportFailures === 0) { matchFailed("\"+\""); } } if (r3 !== null) { r5 = pos; reportFailures++; if (input.charCodeAt(pos) === 43) { r4 = "+"; pos++; } else { r4 = null; if (reportFailures === 0) { matchFailed("\"+\""); } } reportFailures--; if (r4 === null) { r4 = ""; } else { r4 = null; pos = r5; } if (r4 !== null) { r0 = [r3, r4]; } else { r0 = null; pos = r2; } } else { r0 = null; pos = r2; } if (r0 === null) { r2 = pos; if (input.charCodeAt(pos) === 45) { r3 = "-"; pos++; } else { r3 = null; if (reportFailures === 0) {