diff --git a/javascript/extractor/src/com/semmle/jcorn/CustomParser.java b/javascript/extractor/src/com/semmle/jcorn/CustomParser.java index 7170aa3e5217..634d85dec72b 100644 --- a/javascript/extractor/src/com/semmle/jcorn/CustomParser.java +++ b/javascript/extractor/src/com/semmle/jcorn/CustomParser.java @@ -321,7 +321,8 @@ protected ComprehensionExpression parseComprehension( } @Override - protected Expression parseParenAndDistinguishExpression(boolean canBeArrow) { + protected Expression parseParenAndDistinguishExpression( + boolean canBeArrow, DestructuringErrors refDestructuringErrors) { if (options.mozExtensions()) { // check whether next token is `for`, suggesting a generator comprehension Position startLoc = this.startLoc; @@ -338,7 +339,7 @@ protected Expression parseParenAndDistinguishExpression(boolean canBeArrow) { } } - Expression res = super.parseParenAndDistinguishExpression(canBeArrow); + Expression res = super.parseParenAndDistinguishExpression(canBeArrow, refDestructuringErrors); if (res instanceof ParenthesizedExpression) { ParenthesizedExpression p = (ParenthesizedExpression) res; if (p.getExpression() instanceof ComprehensionExpression) { diff --git a/javascript/extractor/src/com/semmle/jcorn/ESNextParser.java b/javascript/extractor/src/com/semmle/jcorn/ESNextParser.java index 1eff68a30385..ba4e55e784d9 100644 --- a/javascript/extractor/src/com/semmle/jcorn/ESNextParser.java +++ b/javascript/extractor/src/com/semmle/jcorn/ESNextParser.java @@ -69,10 +69,18 @@ protected Property parseProperty( Property prop = null; if (this.type == TokenType.ellipsis) { - SpreadElement spread = this.parseSpread(null); + DestructuringErrors errors = new DestructuringErrors(); + SpreadElement spread = this.parseSpread(errors); + if (this.type == TokenType.comma) errors.recordTrailingComma(this.startLoc); Expression val; - if (isPattern) val = new RestElement(spread.getLoc(), spread.getArgument()); - else val = spread; + if (isPattern) { + this.checkPatternErrors(errors, true); + val = (Expression) this.toAssignable(spread, true); + } else { + if (refDestructuringErrors != null) refDestructuringErrors.merge(errors); + else this.checkExpressionErrors(errors, true); + val = spread; + } prop = this.finishNode( new Property( @@ -88,8 +96,14 @@ protected Property parseProperty( @Override protected INode toAssignable(INode node, boolean isBinding) { - if (node instanceof SpreadElement) - return new RestElement(node.getLoc(), ((SpreadElement) node).getArgument()); + if (node instanceof SpreadElement) { + Expression arg = + (Expression) this.toAssignable(((SpreadElement) node).getArgument(), isBinding); + Expression target = arg.stripParens(); + if (!(target instanceof Identifier || target instanceof MemberExpression)) + this.unexpected(arg.getLoc().getStart()); + return new RestElement(node.getLoc(), arg); + } return super.toAssignable(node, isBinding); } diff --git a/javascript/extractor/src/com/semmle/jcorn/Parser.java b/javascript/extractor/src/com/semmle/jcorn/Parser.java index cb9af6c6822c..1ab7c7f823fc 100644 --- a/javascript/extractor/src/com/semmle/jcorn/Parser.java +++ b/javascript/extractor/src/com/semmle/jcorn/Parser.java @@ -1239,28 +1239,48 @@ protected void unexpected() { unexpected((Integer) null); } + /** Deferred errors for an expression that may still become a binding or assignment pattern. */ public static class DestructuringErrors { - private int shorthandAssign, trailingComma; + private Position shorthandAssign, trailingComma; + private Position parenthesizedBinding, parenthesizedAssignment; - public void reset() { - this.shorthandAssign = 0; - this.trailingComma = 0; + /** Merge a child only when it can form part of this pattern, not an expression-only operand. */ + void merge(DestructuringErrors child) { + shorthandAssign = first(shorthandAssign, child.shorthandAssign); + trailingComma = first(trailingComma, child.trailingComma); + parenthesizedBinding = first(parenthesizedBinding, child.parenthesizedBinding); + parenthesizedAssignment = first(parenthesizedAssignment, child.parenthesizedAssignment); + } + + void recordTrailingComma(Position position) { + trailingComma = first(trailingComma, position); + } + + private void clearPatternErrors() { + trailingComma = null; + parenthesizedBinding = null; + parenthesizedAssignment = null; + } + + private static Position first(Position left, Position right) { + return left == null || right != null && right.getOffset() < left.getOffset() ? right : left; } } - protected boolean checkPatternErrors( - DestructuringErrors refDestructuringErrors, boolean andThrow) { - int trailing = refDestructuringErrors != null ? refDestructuringErrors.trailingComma : 0; - if (!andThrow) return trailing != 0; - if (trailing != 0) this.raise(trailing, "Comma is not permitted after the rest element"); - return false; + /** Check deferred errors for a binding pattern, or for an assignment target if not binding. */ + protected void checkPatternErrors(DestructuringErrors errors, boolean isBinding) { + if (errors == null) return; + if (errors.trailingComma != null) + this.raise(errors.trailingComma, "Comma is not permitted after the rest element"); + Position parens = isBinding ? errors.parenthesizedBinding : errors.parenthesizedAssignment; + if (parens != null) this.raise(parens, "Parenthesized pattern"); } protected boolean checkExpressionErrors( DestructuringErrors refDestructuringErrors, boolean andThrow) { - int pos = refDestructuringErrors != null ? refDestructuringErrors.shorthandAssign : 0; - if (!andThrow) return pos != 0; - if (pos != 0) + Position pos = refDestructuringErrors != null ? refDestructuringErrors.shorthandAssign : null; + if (!andThrow) return pos != null; + if (pos != null) this.raise(pos, "Shorthand property assignments are valid only in destructuring patterns"); return false; } @@ -1375,14 +1395,19 @@ private void checkPropClash(Property prop, Map propHash) { // delayed syntax error at correct position). protected Expression parseExpression(boolean noIn, DestructuringErrors refDestructuringErrors) { Position startLoc = this.startLoc; - Expression expr = this.parseMaybeAssign(noIn, refDestructuringErrors, null); + DestructuringErrors errors = new DestructuringErrors(); + Expression expr = this.parseMaybeAssign(noIn, errors, null); if (this.type == TokenType.comma) { + this.checkExpressionErrors(errors, true); + errors.clearPatternErrors(); List expressions = CollectionUtil.makeList(expr); SequenceExpression node = new SequenceExpression(new SourceLocation(startLoc), expressions); while (this.eat(TokenType.comma)) - expressions.add(this.parseMaybeAssign(noIn, refDestructuringErrors, null)); - return this.finishNode(node); + expressions.add(this.parseMaybeAssign(noIn, null, null)); + expr = this.finishNode(node); } + if (refDestructuringErrors != null) refDestructuringErrors.merge(errors); + else this.checkExpressionErrors(errors, true); return expr; } @@ -1396,33 +1421,30 @@ protected Expression parseMaybeAssign( boolean noIn, DestructuringErrors refDestructuringErrors, AfterLeftParse afterLeftParse) { if (this.inGenerator && this.isContextual("yield")) return this.parseYield(); - boolean ownDestructuringErrors = false; - if (refDestructuringErrors == null) { - refDestructuringErrors = new DestructuringErrors(); - ownDestructuringErrors = true; - } + // An assignment must not report or consume deferred errors from an earlier sibling. + DestructuringErrors errors = new DestructuringErrors(); int startPos = this.start; Position startLoc = this.startLoc; if (this.type == TokenType.parenL || this.type == TokenType.name) this.potentialArrowAt = this.start; - Expression left = this.parseMaybeConditional(noIn, refDestructuringErrors); + Expression left = this.parseMaybeConditional(noIn, errors); if (afterLeftParse != null) left = afterLeftParse.call(left, startPos, startLoc); if (this.type.isAssign) { - this.checkPatternErrors(refDestructuringErrors, true); - if (!ownDestructuringErrors) refDestructuringErrors.reset(); + this.checkPatternErrors(errors, false); Expression l = this.type == TokenType.eq ? (Expression) this.toAssignable(left, false) : left; - refDestructuringErrors.shorthandAssign = - 0; // reset because shorthand default was used correctly + // The LHS is a valid assignment pattern, but may still become a defaulted binding. + // Consume its expression error without discarding binding-only errors or sibling errors. + errors.shorthandAssign = null; String operator = String.valueOf(this.value); this.checkLVal(l, false, null); this.next(); Expression r = this.parseMaybeAssign(noIn, null, null); AssignmentExpression node = new AssignmentExpression(new SourceLocation(startLoc), operator, l, r); - return this.finishNode(node); - } else { - if (ownDestructuringErrors) this.checkExpressionErrors(refDestructuringErrors, true); + left = this.finishNode(node); } + if (refDestructuringErrors != null) refDestructuringErrors.merge(errors); + else this.checkExpressionErrors(errors, true); return left; } @@ -1433,7 +1455,11 @@ protected Expression parseMaybeConditional( Expression expr = this.parseExprOps(noIn, refDestructuringErrors); if (this.checkExpressionErrors(refDestructuringErrors, false)) return expr; if (this.eat(TokenType.question)) { - return parseConditionalRest(noIn, startLoc, expr); + Expression result = parseConditionalRest(noIn, startLoc, expr); + // Flow optional parameters can return the original expression rather than a conditional. + if (result != expr && refDestructuringErrors != null) + refDestructuringErrors.clearPatternErrors(); + return result; } return expr; } @@ -1453,7 +1479,10 @@ protected Expression parseExprOps(boolean noIn, DestructuringErrors refDestructu Position startLoc = this.startLoc; Expression expr = this.parseMaybeUnary(refDestructuringErrors, false); if (this.checkExpressionErrors(refDestructuringErrors, false)) return expr; - return this.parseExprOp(expr, startPos, startLoc, -1, noIn); + Expression result = this.parseExprOp(expr, startPos, startLoc, -1, noIn); + if (result != expr && refDestructuringErrors != null) + refDestructuringErrors.clearPatternErrors(); + return result; } // Parse binary operators with the operator precedence parsing @@ -1500,6 +1529,7 @@ protected Expression parseMaybeUnary( DestructuringErrors refDestructuringErrors, boolean sawUnary) { int startPos = this.start; Position startLoc = this.startLoc; + DestructuringErrors errors = new DestructuringErrors(); Expression expr; if ((this.inAsync || options.esnext() && !this.inFunction) && this.isContextual("await")) { expr = this.parseAwait(); @@ -1508,48 +1538,67 @@ protected Expression parseMaybeUnary( String operator = String.valueOf(this.value); boolean update = this.type == TokenType.incDec; this.next(); - Expression argument = this.parseMaybeUnary(null, true); + Expression argument = this.parseMaybeUnary(errors, true); SourceLocation loc = new SourceLocation(startLoc); Expression node = update ? new UpdateExpression(loc, operator, argument, true) : new UnaryExpression(loc, operator, argument, true); - this.checkExpressionErrors(refDestructuringErrors, true); - if (update) this.checkLVal(argument, false, null); - else if (this.strict && operator.equals("delete") && argument instanceof Identifier) + this.checkExpressionErrors(errors, true); + if (update) { + this.checkPatternErrors(errors, false); + this.checkLVal(argument, false, null); + } else if (this.strict && operator.equals("delete") && argument instanceof Identifier) this.raiseRecoverable(node, "Deleting local variable in strict mode"); else sawUnary = true; expr = this.finishNode(node); + errors.clearPatternErrors(); } else { - expr = this.parseExprSubscripts(refDestructuringErrors); - if (this.checkExpressionErrors(refDestructuringErrors, false)) return expr; + expr = this.parseExprSubscripts(errors); + if (this.checkExpressionErrors(errors, false)) { + if (refDestructuringErrors != null) refDestructuringErrors.merge(errors); + else this.checkExpressionErrors(errors, true); + return expr; + } while (this.type.isPostfix && !this.canInsertSemicolon()) { UpdateExpression node = new UpdateExpression( new SourceLocation(startLoc), String.valueOf(this.value), expr, false); + this.checkPatternErrors(errors, false); this.checkLVal(expr, false, null); this.next(); expr = this.finishNode(node); + errors.clearPatternErrors(); } } - if (!sawUnary && this.eat(TokenType.starstar)) - return this.buildBinary( + if (!sawUnary && this.eat(TokenType.starstar)) { + expr = + this.buildBinary( startPos, startLoc, expr, this.parseMaybeUnary(null, false), "**", false); - else return expr; + errors.clearPatternErrors(); + } + if (refDestructuringErrors != null) refDestructuringErrors.merge(errors); + else this.checkExpressionErrors(errors, true); + return expr; } // Parse call, dot, and `[]`-subscript expressions. protected Expression parseExprSubscripts(DestructuringErrors refDestructuringErrors) { int startPos = this.start; Position startLoc = this.startLoc; - Expression expr = this.parseExprAtom(refDestructuringErrors); + DestructuringErrors errors = new DestructuringErrors(); + Expression expr = this.parseExprAtom(errors); boolean skipArrowSubscripts = expr instanceof ArrowFunctionExpression && !inputSubstring(this.lastTokStart, this.lastTokEnd).equals(")"); - if (this.checkExpressionErrors(refDestructuringErrors, false) || skipArrowSubscripts) - return expr; - return this.parseSubscripts(expr, startPos, startLoc, false); + Expression result = expr; + if (!this.checkExpressionErrors(errors, false) && !skipArrowSubscripts) + result = this.parseSubscripts(expr, startPos, startLoc, false); + // A receiver or callee is an expression, even if the resulting member access is a target. + if (result == expr && refDestructuringErrors != null) refDestructuringErrors.merge(errors); + else this.checkExpressionErrors(errors, true); + return result; } protected Expression parseSubscripts( @@ -1696,7 +1745,7 @@ protected Expression parseExprAtom(DestructuringErrors refDestructuringErrors) { this.next(); return this.finishNode(node); } else if (this.type == TokenType.parenL) { - return this.parseParenAndDistinguishExpression(canBeArrow); + return this.parseParenAndDistinguishExpression(canBeArrow, refDestructuringErrors); } else if (this.type == TokenType.bracketL) { Position startLoc = this.startLoc; this.next(); @@ -1739,20 +1788,21 @@ protected Expression parseParenExpression() { return val; } - protected Expression parseParenAndDistinguishExpression(boolean canBeArrow) { + protected Expression parseParenAndDistinguishExpression( + boolean canBeArrow, DestructuringErrors refDestructuringErrors) { Position startLoc = this.startLoc; Expression val; if (this.options.ecmaVersion() >= 6) { this.next(); - DestructuringErrors refDestructuringErrors = new DestructuringErrors(); + DestructuringErrors innerErrors = new DestructuringErrors(); int oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos; - ParenthesisedExpressions parenExprs = parseParenthesisedExpressions(refDestructuringErrors); + ParenthesisedExpressions parenExprs = parseParenthesisedExpressions(innerErrors); if (canBeArrow && !this.canInsertSemicolon() && this.eat(TokenType.arrow)) { - this.checkPatternErrors(refDestructuringErrors, true); - this.checkYieldAwaitInDefaultParams(); if (parenExprs.innerParenStart != 0) this.unexpected(parenExprs.innerParenStart); + this.checkPatternErrors(innerErrors, true); + this.checkYieldAwaitInDefaultParams(); this.yieldPos = oldYieldPos; this.awaitPos = oldAwaitPos; return this.parseParenArrowList(startLoc, parenExprs.exprList); @@ -1761,7 +1811,7 @@ protected Expression parseParenAndDistinguishExpression(boolean canBeArrow) { if (parenExprs.exprList.isEmpty() || parenExprs.lastIsComma) this.unexpected(this.lastTokStart); if (parenExprs.spreadStart != 0) this.unexpected(parenExprs.spreadStart); - this.checkExpressionErrors(refDestructuringErrors, true); + this.checkExpressionErrors(innerErrors, true); if (oldYieldPos > 0) this.yieldPos = oldYieldPos; if (oldAwaitPos > 0) this.awaitPos = oldAwaitPos; @@ -1775,6 +1825,14 @@ protected Expression parseParenAndDistinguishExpression(boolean canBeArrow) { val = this.parseParenExpression(); } + if (refDestructuringErrors != null) { + refDestructuringErrors.parenthesizedBinding = + DestructuringErrors.first(refDestructuringErrors.parenthesizedBinding, startLoc); + Expression target = val.stripParens(); + if (!(target instanceof Identifier || target instanceof MemberExpression)) + refDestructuringErrors.parenthesizedAssignment = + DestructuringErrors.first(refDestructuringErrors.parenthesizedAssignment, startLoc); + } if (this.options.preserveParens()) { ParenthesizedExpression par = new ParenthesizedExpression(new SourceLocation(startLoc), val); return this.finishNode(par); @@ -1838,7 +1896,7 @@ protected boolean parseParenthesisedExpression( return false; } else if (this.type == TokenType.ellipsis) { parenExprs.spreadStart = this.start; - parenExprs.exprList.add(this.parseParenItem(this.parseRest(false), -1, null)); + parenExprs.exprList.add(this.parseParenItem(this.parseRest(), -1, null)); if (this.type == TokenType.comma) this.raise(this.startLoc, "Comma is not permitted after the rest element"); return false; @@ -2109,8 +2167,8 @@ protected void parsePropertyValue(PropertyInfo pi, DestructuringErrors refDestru if (pi.isPattern) { pi.value = this.parseMaybeDefault(pi.startLoc, pi.key); } else if (this.type == TokenType.eq && refDestructuringErrors != null) { - if (refDestructuringErrors.shorthandAssign == 0) - refDestructuringErrors.shorthandAssign = this.start; + if (refDestructuringErrors.shorthandAssign == null) + refDestructuringErrors.shorthandAssign = this.startLoc; pi.value = this.parseMaybeDefault(pi.startLoc, pi.key); } else { pi.value = pi.key; @@ -2147,7 +2205,7 @@ protected FunctionExpression parseMethod(boolean isGenerator, boolean isAsync) { this.expect(TokenType.parenL); List params = - this.parseBindingList(TokenType.parenR, false, this.options.ecmaVersion() >= 8, false); + this.parseBindingList(TokenType.parenR, false, this.options.ecmaVersion() >= 8); this.checkYieldAwaitInDefaultParams(); boolean generator = this.options.ecmaVersion() >= 6 && isGenerator; Node body = this.parseFunctionBody(null, params, false); @@ -2266,11 +2324,8 @@ protected List parseExprList( elt = null; } else if (this.type == TokenType.ellipsis) { elt = this.processExprListItem(this.parseSpread(refDestructuringErrors)); - if (this.type == TokenType.comma - && refDestructuringErrors != null - && refDestructuringErrors.trailingComma == 0) { - refDestructuringErrors.trailingComma = this.start; - } + if (this.type == TokenType.comma && refDestructuringErrors != null) + refDestructuringErrors.recordTrailingComma(this.startLoc); } else elt = this.processExprListItem(this.parseMaybeAssign(false, refDestructuringErrors, null)); elts.add(elt); @@ -2433,17 +2488,22 @@ protected List toAssignableList(List exprList, boolean i } else if (last != null && last instanceof SpreadElement) { Expression arg = ((SpreadElement) last).getArgument(); arg = (Expression) this.toAssignable(arg, isBinding); - if (!(arg instanceof Identifier - || arg instanceof MemberExpression - || arg instanceof ArrayPattern)) this.unexpected(arg.getLoc().getStart()); + Expression target = arg.stripParens(); + if (!(target instanceof Identifier + || target instanceof MemberExpression + || target instanceof ArrayPattern + || target instanceof ObjectPattern)) this.unexpected(arg.getLoc().getStart()); exprList.set(end - 1, last = new RestElement(last.getLoc(), arg)); --end; } - if (isBinding - && last instanceof RestElement - && !(((RestElement) last).getArgument() instanceof Identifier)) - this.unexpected(((RestElement) last).getArgument().getLoc().getStart()); + if (isBinding && last instanceof RestElement) { + Expression arg = ((RestElement) last).getArgument(); + if (!(arg instanceof Identifier + || arg instanceof ArrayPattern + || arg instanceof ObjectPattern)) + this.unexpected(arg.getLoc().getStart()); + } } for (int i = 0; i < end; ++i) exprList.set(i, (Expression) this.toAssignable(exprList.get(i), isBinding)); @@ -2460,19 +2520,11 @@ protected SpreadElement parseSpread(DestructuringErrors refDestructuringErrors) return this.finishNode(node); } - protected RestElement parseRest(boolean allowNonIdent) { + protected RestElement parseRest() { Position start = this.startLoc; this.next(); - // RestElement inside of a function parameter must be an identifier - Expression argument = null; - if (allowNonIdent) - if (this.type == TokenType.name) argument = this.parseIdent(false); - else this.unexpected(); - else if (this.type == TokenType.name || this.type == TokenType.bracketL) - argument = this.parseBindingAtom(); - else this.unexpected(); - RestElement node = new RestElement(new SourceLocation(start), argument); + RestElement node = new RestElement(new SourceLocation(start), this.parseBindingAtom()); return this.finishNode(node); } @@ -2483,7 +2535,7 @@ protected Expression parseBindingAtom() { if (this.type == TokenType.bracketL) { Position start = this.startLoc; this.next(); - List elements = this.parseBindingList(TokenType.bracketR, true, true, false); + List elements = this.parseBindingList(TokenType.bracketR, true, true); ArrayPattern node = new ArrayPattern(new SourceLocation(start), elements); return this.finishNode(node); } @@ -2494,7 +2546,7 @@ protected Expression parseBindingAtom() { } protected List parseBindingList( - TokenType close, boolean allowEmpty, boolean allowTrailingComma, boolean allowNonIdent) { + TokenType close, boolean allowEmpty, boolean allowTrailingComma) { List result = new ArrayList(); boolean first = true; while (!this.eat(close)) { @@ -2505,7 +2557,7 @@ protected List parseBindingList( } else if (allowTrailingComma && this.afterTrailingComma(close, false)) { break; } else if (this.type == TokenType.ellipsis) { - result.add(this.processBindingListItem(this.parseRest(allowNonIdent))); + result.add(this.processBindingListItem(this.parseRest())); if (this.type == TokenType.comma) this.raise(this.start, "Comma is not permitted after the rest element"); this.expect(close); @@ -2913,7 +2965,7 @@ protected Statement parseForStatement(Position startLoc) { Expression init = this.parseExpression(true, refDestructuringErrors); if (this.type == TokenType._in || (this.options.ecmaVersion() >= 6 && this.isContextual("of"))) { - this.checkPatternErrors(refDestructuringErrors, true); + this.checkPatternErrors(refDestructuringErrors, false); init = (Expression) this.toAssignable(init, false); this.checkLVal(init, false, null); return this.parseForIn(startLoc, init); @@ -3280,7 +3332,7 @@ protected IFunction parseFunctionRest( protected List parseFunctionParams() { this.expect(TokenType.parenL); List params = - this.parseBindingList(TokenType.parenR, false, this.options.ecmaVersion() >= 8, true); + this.parseBindingList(TokenType.parenR, false, this.options.ecmaVersion() >= 8); this.checkYieldAwaitInDefaultParams(); return params; } diff --git a/javascript/extractor/tests/errors/output/trap/invalid-assignment-pattern.js.trap b/javascript/extractor/tests/errors/output/trap/invalid-assignment-pattern.js.trap index bb694ccaa394..7812d6a9c0c9 100644 --- a/javascript/extractor/tests/errors/output/trap/invalid-assignment-pattern.js.trap +++ b/javascript/extractor/tests/errors/output/trap/invalid-assignment-pattern.js.trap @@ -9,111 +9,20 @@ hasLocation(#10000,#10002) #20000=@"global_scope" scopes(#20000,0) #20001=@"script;{#10000},1,1" -#20002=* -lines(#20002,#20001,"(x = 0) = y"," -") -#20003=@"loc,{#10000},1,1,1,11" -locations_default(#20003,#10000,1,1,1,11) -hasLocation(#20002,#20003) -numlines(#20001,1,1,0) -#20004=* -tokeninfo(#20004,8,#20001,0,"(") -#20005=@"loc,{#10000},1,1,1,1" -locations_default(#20005,#10000,1,1,1,1) -hasLocation(#20004,#20005) -#20006=* -tokeninfo(#20006,6,#20001,1,"x") -#20007=@"loc,{#10000},1,2,1,2" -locations_default(#20007,#10000,1,2,1,2) -hasLocation(#20006,#20007) -#20008=* -tokeninfo(#20008,8,#20001,2,"=") -#20009=@"loc,{#10000},1,4,1,4" -locations_default(#20009,#10000,1,4,1,4) -hasLocation(#20008,#20009) -#20010=* -tokeninfo(#20010,3,#20001,3,"0") -#20011=@"loc,{#10000},1,6,1,6" -locations_default(#20011,#10000,1,6,1,6) -hasLocation(#20010,#20011) -#20012=* -tokeninfo(#20012,8,#20001,4,")") -#20013=@"loc,{#10000},1,7,1,7" -locations_default(#20013,#10000,1,7,1,7) -hasLocation(#20012,#20013) -#20014=* -tokeninfo(#20014,8,#20001,5,"=") -#20015=@"loc,{#10000},1,9,1,9" -locations_default(#20015,#10000,1,9,1,9) -hasLocation(#20014,#20015) -#20016=* -tokeninfo(#20016,6,#20001,6,"y") -#20017=@"loc,{#10000},1,11,1,11" -locations_default(#20017,#10000,1,11,1,11) -hasLocation(#20016,#20017) -#20018=* -tokeninfo(#20018,0,#20001,7,"") -#20019=@"loc,{#10000},2,1,2,0" -locations_default(#20019,#10000,2,1,2,0) -hasLocation(#20018,#20019) toplevels(#20001,0) -#20020=@"loc,{#10000},1,1,2,0" -locations_default(#20020,#10000,1,1,2,0) -hasLocation(#20001,#20020) -#20021=@"var;{this};{#20000}" -variables(#20021,"this",#20000) -#20022=* -stmts(#20022,2,#20001,0,"(x = 0) = y") -hasLocation(#20022,#20003) -stmt_containers(#20022,#20001) -#20023=* -exprs(#20023,47,#20022,0,"(x = 0) = y") -hasLocation(#20023,#20003) -enclosing_stmt(#20023,#20022) -expr_containers(#20023,#20001) -#20024=* -exprs(#20024,63,#20023,0,"(x = 0)") -#20025=@"loc,{#10000},1,1,1,7" -locations_default(#20025,#10000,1,1,1,7) -hasLocation(#20024,#20025) -enclosing_stmt(#20024,#20022) -expr_containers(#20024,#20001) -#20026=* -exprs(#20026,79,#20024,0,"x") -hasLocation(#20026,#20007) -enclosing_stmt(#20026,#20022) -expr_containers(#20026,#20001) -#20027=* -exprs(#20027,79,#20023,1,"y") -hasLocation(#20027,#20017) -enclosing_stmt(#20027,#20022) -expr_containers(#20027,#20001) -literals("y","y",#20027) -#20028=@"var;{y};{#20000}" -variables(#20028,"y",#20000) -bind(#20027,#20028) -#20029=* -entry_cfg_node(#20029,#20001) -#20030=@"loc,{#10000},1,1,1,0" -locations_default(#20030,#10000,1,1,1,0) -hasLocation(#20029,#20030) -#20031=* -exit_cfg_node(#20031,#20001) -hasLocation(#20031,#20019) -successor(#20022,#20024) -successor(#20027,#20023) -successor(#20024,#20026) -successor(#20026,#20027) -successor(#20023,#20031) -successor(#20029,#20022) -#20032=* -js_parse_errors(#20032,#20001,"Error: Unexpected assignment pattern.","(x = 0) = y +#20002=@"loc,{#10000},1,1,1,1" +locations_default(#20002,#10000,1,1,1,1) +hasLocation(#20001,#20002) +#20003=* +js_parse_errors(#20003,#20001,"Error: Parenthesized pattern","(x = 0) = y ") -hasLocation(#20032,#20007) -#20033=* -lines(#20033,#20001,"(x = 0) = y"," +hasLocation(#20003,#20002) +#20004=* +lines(#20004,#20001,"(x = 0) = y"," ") -hasLocation(#20033,#20003) +#20005=@"loc,{#10000},1,1,1,11" +locations_default(#20005,#10000,1,1,1,11) +hasLocation(#20004,#20005) numlines(#20001,1,0,0) -numlines(#10000,1,1,0) +numlines(#10000,1,0,0) filetype(#10000,"javascript") diff --git a/javascript/extractor/tests/es2015/output/trap/restparms2.js.trap b/javascript/extractor/tests/es2015/output/trap/restparms2.js.trap index e6faa776dd50..924b02a736d4 100644 --- a/javascript/extractor/tests/es2015/output/trap/restparms2.js.trap +++ b/javascript/extractor/tests/es2015/output/trap/restparms2.js.trap @@ -9,27 +9,178 @@ hasLocation(#10000,#10002) #20000=@"global_scope" scopes(#20000,0) #20001=@"script;{#10000},1,1" -toplevels(#20001,0) -#20002=@"loc,{#10000},1,1,1,1" -locations_default(#20002,#10000,1,1,1,1) -hasLocation(#20001,#20002) -#20003=* -js_parse_errors(#20003,#20001,"Error: Unexpected token","function f(x, ...[y, z]) { -") -#20004=@"loc,{#10000},1,18,1,18" -locations_default(#20004,#10000,1,18,1,18) -hasLocation(#20003,#20004) -#20005=* -lines(#20005,#20001,"function f(x, ...[y, z]) {"," +#20002=* +lines(#20002,#20001,"function f(x, ...[y, z]) {"," ") -#20006=@"loc,{#10000},1,1,1,26" -locations_default(#20006,#10000,1,1,1,26) -hasLocation(#20005,#20006) -#20007=* -lines(#20007,#20001,"}","") -#20008=@"loc,{#10000},2,1,2,1" -locations_default(#20008,#10000,2,1,2,1) -hasLocation(#20007,#20008) -numlines(#20001,2,0,0) -numlines(#10000,2,0,0) +#20003=@"loc,{#10000},1,1,1,26" +locations_default(#20003,#10000,1,1,1,26) +hasLocation(#20002,#20003) +#20004=* +lines(#20004,#20001,"}","") +#20005=@"loc,{#10000},2,1,2,1" +locations_default(#20005,#10000,2,1,2,1) +hasLocation(#20004,#20005) +numlines(#20001,2,2,0) +#20006=* +tokeninfo(#20006,7,#20001,0,"function") +#20007=@"loc,{#10000},1,1,1,8" +locations_default(#20007,#10000,1,1,1,8) +hasLocation(#20006,#20007) +#20008=* +tokeninfo(#20008,6,#20001,1,"f") +#20009=@"loc,{#10000},1,10,1,10" +locations_default(#20009,#10000,1,10,1,10) +hasLocation(#20008,#20009) +#20010=* +tokeninfo(#20010,8,#20001,2,"(") +#20011=@"loc,{#10000},1,11,1,11" +locations_default(#20011,#10000,1,11,1,11) +hasLocation(#20010,#20011) +#20012=* +tokeninfo(#20012,6,#20001,3,"x") +#20013=@"loc,{#10000},1,12,1,12" +locations_default(#20013,#10000,1,12,1,12) +hasLocation(#20012,#20013) +#20014=* +tokeninfo(#20014,8,#20001,4,",") +#20015=@"loc,{#10000},1,13,1,13" +locations_default(#20015,#10000,1,13,1,13) +hasLocation(#20014,#20015) +#20016=* +tokeninfo(#20016,8,#20001,5,"...") +#20017=@"loc,{#10000},1,15,1,17" +locations_default(#20017,#10000,1,15,1,17) +hasLocation(#20016,#20017) +#20018=* +tokeninfo(#20018,8,#20001,6,"[") +#20019=@"loc,{#10000},1,18,1,18" +locations_default(#20019,#10000,1,18,1,18) +hasLocation(#20018,#20019) +#20020=* +tokeninfo(#20020,6,#20001,7,"y") +#20021=@"loc,{#10000},1,19,1,19" +locations_default(#20021,#10000,1,19,1,19) +hasLocation(#20020,#20021) +#20022=* +tokeninfo(#20022,8,#20001,8,",") +#20023=@"loc,{#10000},1,20,1,20" +locations_default(#20023,#10000,1,20,1,20) +hasLocation(#20022,#20023) +#20024=* +tokeninfo(#20024,6,#20001,9,"z") +#20025=@"loc,{#10000},1,22,1,22" +locations_default(#20025,#10000,1,22,1,22) +hasLocation(#20024,#20025) +#20026=* +tokeninfo(#20026,8,#20001,10,"]") +#20027=@"loc,{#10000},1,23,1,23" +locations_default(#20027,#10000,1,23,1,23) +hasLocation(#20026,#20027) +#20028=* +tokeninfo(#20028,8,#20001,11,")") +#20029=@"loc,{#10000},1,24,1,24" +locations_default(#20029,#10000,1,24,1,24) +hasLocation(#20028,#20029) +#20030=* +tokeninfo(#20030,8,#20001,12,"{") +#20031=@"loc,{#10000},1,26,1,26" +locations_default(#20031,#10000,1,26,1,26) +hasLocation(#20030,#20031) +#20032=* +tokeninfo(#20032,8,#20001,13,"}") +hasLocation(#20032,#20005) +#20033=* +tokeninfo(#20033,0,#20001,14,"") +#20034=@"loc,{#10000},2,2,2,1" +locations_default(#20034,#10000,2,2,2,1) +hasLocation(#20033,#20034) +toplevels(#20001,0) +#20035=@"loc,{#10000},1,1,2,1" +locations_default(#20035,#10000,1,1,2,1) +hasLocation(#20001,#20035) +#20036=@"var;{f};{#20000}" +variables(#20036,"f",#20000) +#20037=@"var;{this};{#20000}" +variables(#20037,"this",#20000) +#20038=* +stmts(#20038,17,#20001,0,"functio ... z]) {\n}") +hasLocation(#20038,#20035) +stmt_containers(#20038,#20001) +#20039=* +exprs(#20039,78,#20038,-1,"f") +hasLocation(#20039,#20009) +expr_containers(#20039,#20038) +literals("f","f",#20039) +decl(#20039,#20036) +#20040=* +scopes(#20040,1) +scopenodes(#20038,#20040) +scopenesting(#20040,#20000) +#20041=@"var;{this};{#20040}" +variables(#20041,"this",#20040) +#20042=@"var;{x};{#20040}" +variables(#20042,"x",#20040) +#20043=* +exprs(#20043,78,#20038,0,"x") +hasLocation(#20043,#20013) +expr_containers(#20043,#20038) +literals("x","x",#20043) +decl(#20043,#20042) +#20044=@"var;{y};{#20040}" +variables(#20044,"y",#20040) +#20045=@"var;{z};{#20040}" +variables(#20045,"z",#20040) +#20046=* +exprs(#20046,67,#20038,1,"[y, z]") +#20047=@"loc,{#10000},1,18,1,23" +locations_default(#20047,#10000,1,18,1,23) +hasLocation(#20046,#20047) +expr_containers(#20046,#20038) +#20048=* +exprs(#20048,78,#20046,0,"y") +hasLocation(#20048,#20021) +expr_containers(#20048,#20038) +literals("y","y",#20048) +decl(#20048,#20044) +#20049=* +exprs(#20049,78,#20046,1,"z") +hasLocation(#20049,#20025) +expr_containers(#20049,#20038) +literals("z","z",#20049) +decl(#20049,#20045) +array_size(#20046,2) +#20050=@"var;{arguments};{#20040}" +variables(#20050,"arguments",#20040) +is_arguments_object(#20050) +has_rest_parameter(#20038) +#20051=* +stmts(#20051,1,#20038,-2,"{\n}") +#20052=@"loc,{#10000},1,26,2,1" +locations_default(#20052,#10000,1,26,2,1) +hasLocation(#20051,#20052) +stmt_containers(#20051,#20038) +#20053=* +entry_cfg_node(#20053,#20001) +#20054=@"loc,{#10000},1,1,1,0" +locations_default(#20054,#10000,1,1,1,0) +hasLocation(#20053,#20054) +#20055=* +exit_cfg_node(#20055,#20001) +hasLocation(#20055,#20034) +successor(#20038,#20055) +#20056=* +entry_cfg_node(#20056,#20038) +hasLocation(#20056,#20054) +#20057=* +exit_cfg_node(#20057,#20038) +hasLocation(#20057,#20034) +successor(#20051,#20057) +successor(#20046,#20048) +successor(#20049,#20051) +successor(#20048,#20049) +successor(#20043,#20046) +successor(#20056,#20043) +successor(#20039,#20038) +successor(#20053,#20039) +numlines(#10000,2,2,0) filetype(#10000,"javascript") diff --git a/javascript/extractor/tests/es2017/output/trap/invalid-async-fn.js.trap b/javascript/extractor/tests/es2017/output/trap/invalid-async-fn.js.trap index 1b2769d43bed..6cb92bf4de00 100644 --- a/javascript/extractor/tests/es2017/output/trap/invalid-async-fn.js.trap +++ b/javascript/extractor/tests/es2017/output/trap/invalid-async-fn.js.trap @@ -9,138 +9,20 @@ hasLocation(#10000,#10002) #20000=@"global_scope" scopes(#20000,0) #20001=@"script;{#10000},1,1" -#20002=* -lines(#20002,#20001,"f = async ((x)) => x","") -#20003=@"loc,{#10000},1,1,1,20" -locations_default(#20003,#10000,1,1,1,20) -hasLocation(#20002,#20003) -numlines(#20001,1,1,0) -#20004=* -tokeninfo(#20004,6,#20001,0,"f") -#20005=@"loc,{#10000},1,1,1,1" -locations_default(#20005,#10000,1,1,1,1) -hasLocation(#20004,#20005) -#20006=* -tokeninfo(#20006,8,#20001,1,"=") -#20007=@"loc,{#10000},1,3,1,3" -locations_default(#20007,#10000,1,3,1,3) -hasLocation(#20006,#20007) -#20008=* -tokeninfo(#20008,6,#20001,2,"async") -#20009=@"loc,{#10000},1,5,1,9" -locations_default(#20009,#10000,1,5,1,9) -hasLocation(#20008,#20009) -#20010=* -tokeninfo(#20010,8,#20001,3,"(") -#20011=@"loc,{#10000},1,11,1,11" -locations_default(#20011,#10000,1,11,1,11) -hasLocation(#20010,#20011) -#20012=* -tokeninfo(#20012,8,#20001,4,"(") -#20013=@"loc,{#10000},1,12,1,12" -locations_default(#20013,#10000,1,12,1,12) -hasLocation(#20012,#20013) -#20014=* -tokeninfo(#20014,6,#20001,5,"x") -#20015=@"loc,{#10000},1,13,1,13" -locations_default(#20015,#10000,1,13,1,13) -hasLocation(#20014,#20015) -#20016=* -tokeninfo(#20016,8,#20001,6,")") -#20017=@"loc,{#10000},1,14,1,14" -locations_default(#20017,#10000,1,14,1,14) -hasLocation(#20016,#20017) -#20018=* -tokeninfo(#20018,8,#20001,7,")") -#20019=@"loc,{#10000},1,15,1,15" -locations_default(#20019,#10000,1,15,1,15) -hasLocation(#20018,#20019) -#20020=* -tokeninfo(#20020,8,#20001,8,"=>") -#20021=@"loc,{#10000},1,17,1,18" -locations_default(#20021,#10000,1,17,1,18) -hasLocation(#20020,#20021) -#20022=* -tokeninfo(#20022,6,#20001,9,"x") -#20023=@"loc,{#10000},1,20,1,20" -locations_default(#20023,#10000,1,20,1,20) -hasLocation(#20022,#20023) -#20024=* -tokeninfo(#20024,0,#20001,10,"") -#20025=@"loc,{#10000},1,21,1,20" -locations_default(#20025,#10000,1,21,1,20) -hasLocation(#20024,#20025) toplevels(#20001,0) -hasLocation(#20001,#20003) -#20026=@"var;{this};{#20000}" -variables(#20026,"this",#20000) -#20027=* -stmts(#20027,2,#20001,0,"f = async ((x)) => x") -hasLocation(#20027,#20003) -stmt_containers(#20027,#20001) -#20028=* -exprs(#20028,47,#20027,0,"f = async ((x)) => x") -hasLocation(#20028,#20003) -enclosing_stmt(#20028,#20027) -expr_containers(#20028,#20001) -#20029=* -exprs(#20029,79,#20028,0,"f") -hasLocation(#20029,#20005) -enclosing_stmt(#20029,#20027) -expr_containers(#20029,#20001) -literals("f","f",#20029) -#20030=@"var;{f};{#20000}" -variables(#20030,"f",#20000) -bind(#20029,#20030) -#20031=* -exprs(#20031,65,#20028,1,"async ((x)) => x") -#20032=@"loc,{#10000},1,5,1,20" -locations_default(#20032,#10000,1,5,1,20) -hasLocation(#20031,#20032) -enclosing_stmt(#20031,#20027) -expr_containers(#20031,#20001) -#20033=* -scopes(#20033,1) -scopenodes(#20031,#20033) -scopenesting(#20033,#20000) -#20034=@"var;{x};{#20033}" -variables(#20034,"x",#20033) -#20035=* -exprs(#20035,78,#20031,0,"x") -hasLocation(#20035,#20015) -expr_containers(#20035,#20031) -literals("x","x",#20035) -decl(#20035,#20034) -is_async(#20031) -#20036=* -exprs(#20036,79,#20031,-2,"x") -hasLocation(#20036,#20023) -expr_containers(#20036,#20031) -literals("x","x",#20036) -bind(#20036,#20034) -#20037=* -entry_cfg_node(#20037,#20001) -#20038=@"loc,{#10000},1,1,1,0" -locations_default(#20038,#10000,1,1,1,0) -hasLocation(#20037,#20038) -#20039=* -exit_cfg_node(#20039,#20001) -hasLocation(#20039,#20025) -successor(#20027,#20029) -successor(#20031,#20028) -#20040=* -entry_cfg_node(#20040,#20031) -#20041=@"loc,{#10000},1,5,1,4" -locations_default(#20041,#10000,1,5,1,4) -hasLocation(#20040,#20041) -#20042=* -exit_cfg_node(#20042,#20031) -hasLocation(#20042,#20025) -successor(#20036,#20042) -successor(#20035,#20036) -successor(#20040,#20035) -successor(#20029,#20031) -successor(#20028,#20039) -successor(#20037,#20027) -numlines(#10000,1,1,0) +#20002=@"loc,{#10000},1,1,1,1" +locations_default(#20002,#10000,1,1,1,1) +hasLocation(#20001,#20002) +#20003=* +js_parse_errors(#20003,#20001,"Error: Parenthesized pattern","f = async ((x)) => x") +#20004=@"loc,{#10000},1,12,1,12" +locations_default(#20004,#10000,1,12,1,12) +hasLocation(#20003,#20004) +#20005=* +lines(#20005,#20001,"f = async ((x)) => x","") +#20006=@"loc,{#10000},1,1,1,20" +locations_default(#20006,#10000,1,1,1,20) +hasLocation(#20005,#20006) +numlines(#20001,1,0,0) +numlines(#10000,1,0,0) filetype(#10000,"javascript") diff --git a/javascript/extractor/tests/flow/input/invalid-async-parenthesized-object-rest.js b/javascript/extractor/tests/flow/input/invalid-async-parenthesized-object-rest.js new file mode 100644 index 000000000000..5b11c9eaec8d --- /dev/null +++ b/javascript/extractor/tests/flow/input/invalid-async-parenthesized-object-rest.js @@ -0,0 +1 @@ +async ({...(rest)} = {}): Promise => rest \ No newline at end of file diff --git a/javascript/extractor/tests/flow/input/invalid-async-parenthesized-optional-parameter.js b/javascript/extractor/tests/flow/input/invalid-async-parenthesized-optional-parameter.js new file mode 100644 index 000000000000..e7531749ade7 --- /dev/null +++ b/javascript/extractor/tests/flow/input/invalid-async-parenthesized-optional-parameter.js @@ -0,0 +1 @@ +async ((x)?: number) => x \ No newline at end of file diff --git a/javascript/extractor/tests/flow/input/invalid-parenthesized-array-rest.js b/javascript/extractor/tests/flow/input/invalid-parenthesized-array-rest.js new file mode 100644 index 000000000000..c10156bcdb2c --- /dev/null +++ b/javascript/extractor/tests/flow/input/invalid-parenthesized-array-rest.js @@ -0,0 +1 @@ +([...(rest)] = []): number => rest \ No newline at end of file diff --git a/javascript/extractor/tests/flow/input/invalid-parenthesized-optional-parameter.js b/javascript/extractor/tests/flow/input/invalid-parenthesized-optional-parameter.js new file mode 100644 index 000000000000..154776d77cab --- /dev/null +++ b/javascript/extractor/tests/flow/input/invalid-parenthesized-optional-parameter.js @@ -0,0 +1 @@ +((x)?: number) => x \ No newline at end of file diff --git a/javascript/extractor/tests/flow/input/rest-patterns.js b/javascript/extractor/tests/flow/input/rest-patterns.js new file mode 100644 index 000000000000..3489fa39d580 --- /dev/null +++ b/javascript/extractor/tests/flow/input/rest-patterns.js @@ -0,0 +1,5 @@ +(x?: number) => x; +async (x?: number) => x; +(...{length}: Object): number => length; +async (...{length}: Object): Promise => length; +condition ? (x) : y; \ No newline at end of file diff --git a/javascript/extractor/tests/flow/output/trap/invalid-async-parenthesized-object-rest.js.trap b/javascript/extractor/tests/flow/output/trap/invalid-async-parenthesized-object-rest.js.trap new file mode 100644 index 000000000000..f295fcd280d7 --- /dev/null +++ b/javascript/extractor/tests/flow/output/trap/invalid-async-parenthesized-object-rest.js.trap @@ -0,0 +1,28 @@ +#10000=@"/invalid-async-parenthesized-object-rest.js;sourcefile" +files(#10000,"/invalid-async-parenthesized-object-rest.js") +#10001=@"/;folder" +folders(#10001,"/") +containerparent(#10001,#10000) +#10002=@"loc,{#10000},0,0,0,0" +locations_default(#10002,#10000,0,0,0,0) +hasLocation(#10000,#10002) +#20000=@"global_scope" +scopes(#20000,0) +#20001=@"script;{#10000},1,1" +toplevels(#20001,0) +#20002=@"loc,{#10000},1,1,1,1" +locations_default(#20002,#10000,1,1,1,1) +hasLocation(#20001,#20002) +#20003=* +js_parse_errors(#20003,#20001,"Error: Parenthesized pattern","async ({...(rest)} = {}): Promise => rest") +#20004=@"loc,{#10000},1,12,1,12" +locations_default(#20004,#10000,1,12,1,12) +hasLocation(#20003,#20004) +#20005=* +lines(#20005,#20001,"async ({...(rest)} = {}): Promise => rest","") +#20006=@"loc,{#10000},1,1,1,49" +locations_default(#20006,#10000,1,1,1,49) +hasLocation(#20005,#20006) +numlines(#20001,1,0,0) +numlines(#10000,1,0,0) +filetype(#10000,"javascript") diff --git a/javascript/extractor/tests/flow/output/trap/invalid-async-parenthesized-optional-parameter.js.trap b/javascript/extractor/tests/flow/output/trap/invalid-async-parenthesized-optional-parameter.js.trap new file mode 100644 index 000000000000..c285f78a32b2 --- /dev/null +++ b/javascript/extractor/tests/flow/output/trap/invalid-async-parenthesized-optional-parameter.js.trap @@ -0,0 +1,28 @@ +#10000=@"/invalid-async-parenthesized-optional-parameter.js;sourcefile" +files(#10000,"/invalid-async-parenthesized-optional-parameter.js") +#10001=@"/;folder" +folders(#10001,"/") +containerparent(#10001,#10000) +#10002=@"loc,{#10000},0,0,0,0" +locations_default(#10002,#10000,0,0,0,0) +hasLocation(#10000,#10002) +#20000=@"global_scope" +scopes(#20000,0) +#20001=@"script;{#10000},1,1" +toplevels(#20001,0) +#20002=@"loc,{#10000},1,1,1,1" +locations_default(#20002,#10000,1,1,1,1) +hasLocation(#20001,#20002) +#20003=* +js_parse_errors(#20003,#20001,"Error: Parenthesized pattern","async ((x)?: number) => x") +#20004=@"loc,{#10000},1,8,1,8" +locations_default(#20004,#10000,1,8,1,8) +hasLocation(#20003,#20004) +#20005=* +lines(#20005,#20001,"async ((x)?: number) => x","") +#20006=@"loc,{#10000},1,1,1,25" +locations_default(#20006,#10000,1,1,1,25) +hasLocation(#20005,#20006) +numlines(#20001,1,0,0) +numlines(#10000,1,0,0) +filetype(#10000,"javascript") diff --git a/javascript/extractor/tests/flow/output/trap/invalid-parenthesized-array-rest.js.trap b/javascript/extractor/tests/flow/output/trap/invalid-parenthesized-array-rest.js.trap new file mode 100644 index 000000000000..0347f2a87cd5 --- /dev/null +++ b/javascript/extractor/tests/flow/output/trap/invalid-parenthesized-array-rest.js.trap @@ -0,0 +1,28 @@ +#10000=@"/invalid-parenthesized-array-rest.js;sourcefile" +files(#10000,"/invalid-parenthesized-array-rest.js") +#10001=@"/;folder" +folders(#10001,"/") +containerparent(#10001,#10000) +#10002=@"loc,{#10000},0,0,0,0" +locations_default(#10002,#10000,0,0,0,0) +hasLocation(#10000,#10002) +#20000=@"global_scope" +scopes(#20000,0) +#20001=@"script;{#10000},1,1" +toplevels(#20001,0) +#20002=@"loc,{#10000},1,1,1,1" +locations_default(#20002,#10000,1,1,1,1) +hasLocation(#20001,#20002) +#20003=* +js_parse_errors(#20003,#20001,"Error: Parenthesized pattern","([...(rest)] = []): number => rest") +#20004=@"loc,{#10000},1,6,1,6" +locations_default(#20004,#10000,1,6,1,6) +hasLocation(#20003,#20004) +#20005=* +lines(#20005,#20001,"([...(rest)] = []): number => rest","") +#20006=@"loc,{#10000},1,1,1,34" +locations_default(#20006,#10000,1,1,1,34) +hasLocation(#20005,#20006) +numlines(#20001,1,0,0) +numlines(#10000,1,0,0) +filetype(#10000,"javascript") diff --git a/javascript/extractor/tests/flow/output/trap/invalid-parenthesized-optional-parameter.js.trap b/javascript/extractor/tests/flow/output/trap/invalid-parenthesized-optional-parameter.js.trap new file mode 100644 index 000000000000..f38ad451351b --- /dev/null +++ b/javascript/extractor/tests/flow/output/trap/invalid-parenthesized-optional-parameter.js.trap @@ -0,0 +1,28 @@ +#10000=@"/invalid-parenthesized-optional-parameter.js;sourcefile" +files(#10000,"/invalid-parenthesized-optional-parameter.js") +#10001=@"/;folder" +folders(#10001,"/") +containerparent(#10001,#10000) +#10002=@"loc,{#10000},0,0,0,0" +locations_default(#10002,#10000,0,0,0,0) +hasLocation(#10000,#10002) +#20000=@"global_scope" +scopes(#20000,0) +#20001=@"script;{#10000},1,1" +toplevels(#20001,0) +#20002=@"loc,{#10000},1,1,1,1" +locations_default(#20002,#10000,1,1,1,1) +hasLocation(#20001,#20002) +#20003=* +js_parse_errors(#20003,#20001,"Error: Unexpected token","((x)?: number) => x") +#20004=@"loc,{#10000},1,2,1,2" +locations_default(#20004,#10000,1,2,1,2) +hasLocation(#20003,#20004) +#20005=* +lines(#20005,#20001,"((x)?: number) => x","") +#20006=@"loc,{#10000},1,1,1,19" +locations_default(#20006,#10000,1,1,1,19) +hasLocation(#20005,#20006) +numlines(#20001,1,0,0) +numlines(#10000,1,0,0) +filetype(#10000,"javascript") diff --git a/javascript/extractor/tests/flow/output/trap/rest-patterns.js.trap b/javascript/extractor/tests/flow/output/trap/rest-patterns.js.trap new file mode 100644 index 000000000000..502b5f396a9f --- /dev/null +++ b/javascript/extractor/tests/flow/output/trap/rest-patterns.js.trap @@ -0,0 +1,622 @@ +#10000=@"/rest-patterns.js;sourcefile" +files(#10000,"/rest-patterns.js") +#10001=@"/;folder" +folders(#10001,"/") +containerparent(#10001,#10000) +#10002=@"loc,{#10000},0,0,0,0" +locations_default(#10002,#10000,0,0,0,0) +hasLocation(#10000,#10002) +#20000=@"global_scope" +scopes(#20000,0) +#20001=@"script;{#10000},1,1" +#20002=* +lines(#20002,#20001,"(x?: number) => x;"," +") +#20003=@"loc,{#10000},1,1,1,18" +locations_default(#20003,#10000,1,1,1,18) +hasLocation(#20002,#20003) +#20004=* +lines(#20004,#20001,"async (x?: number) => x;"," +") +#20005=@"loc,{#10000},2,1,2,24" +locations_default(#20005,#10000,2,1,2,24) +hasLocation(#20004,#20005) +#20006=* +lines(#20006,#20001,"(...{length}: Object): number => length;"," +") +#20007=@"loc,{#10000},3,1,3,40" +locations_default(#20007,#10000,3,1,3,40) +hasLocation(#20006,#20007) +#20008=* +lines(#20008,#20001,"async (...{length}: Object): Promise => length;"," +") +#20009=@"loc,{#10000},4,1,4,55" +locations_default(#20009,#10000,4,1,4,55) +hasLocation(#20008,#20009) +#20010=* +lines(#20010,#20001,"condition ? (x) : y;","") +#20011=@"loc,{#10000},5,1,5,20" +locations_default(#20011,#10000,5,1,5,20) +hasLocation(#20010,#20011) +numlines(#20001,5,5,0) +#20012=* +tokeninfo(#20012,8,#20001,0,"(") +#20013=@"loc,{#10000},1,1,1,1" +locations_default(#20013,#10000,1,1,1,1) +hasLocation(#20012,#20013) +#20014=* +tokeninfo(#20014,6,#20001,1,"x") +#20015=@"loc,{#10000},1,2,1,2" +locations_default(#20015,#10000,1,2,1,2) +hasLocation(#20014,#20015) +#20016=* +tokeninfo(#20016,8,#20001,2,"?") +#20017=@"loc,{#10000},1,3,1,3" +locations_default(#20017,#10000,1,3,1,3) +hasLocation(#20016,#20017) +#20018=* +tokeninfo(#20018,8,#20001,3,":") +#20019=@"loc,{#10000},1,4,1,4" +locations_default(#20019,#10000,1,4,1,4) +hasLocation(#20018,#20019) +#20020=* +tokeninfo(#20020,6,#20001,4,"number") +#20021=@"loc,{#10000},1,6,1,11" +locations_default(#20021,#10000,1,6,1,11) +hasLocation(#20020,#20021) +#20022=* +tokeninfo(#20022,8,#20001,5,")") +#20023=@"loc,{#10000},1,12,1,12" +locations_default(#20023,#10000,1,12,1,12) +hasLocation(#20022,#20023) +#20024=* +tokeninfo(#20024,8,#20001,6,"=>") +#20025=@"loc,{#10000},1,14,1,15" +locations_default(#20025,#10000,1,14,1,15) +hasLocation(#20024,#20025) +#20026=* +tokeninfo(#20026,6,#20001,7,"x") +#20027=@"loc,{#10000},1,17,1,17" +locations_default(#20027,#10000,1,17,1,17) +hasLocation(#20026,#20027) +#20028=* +tokeninfo(#20028,8,#20001,8,";") +#20029=@"loc,{#10000},1,18,1,18" +locations_default(#20029,#10000,1,18,1,18) +hasLocation(#20028,#20029) +#20030=* +tokeninfo(#20030,6,#20001,9,"async") +#20031=@"loc,{#10000},2,1,2,5" +locations_default(#20031,#10000,2,1,2,5) +hasLocation(#20030,#20031) +#20032=* +tokeninfo(#20032,8,#20001,10,"(") +#20033=@"loc,{#10000},2,7,2,7" +locations_default(#20033,#10000,2,7,2,7) +hasLocation(#20032,#20033) +#20034=* +tokeninfo(#20034,6,#20001,11,"x") +#20035=@"loc,{#10000},2,8,2,8" +locations_default(#20035,#10000,2,8,2,8) +hasLocation(#20034,#20035) +#20036=* +tokeninfo(#20036,8,#20001,12,"?") +#20037=@"loc,{#10000},2,9,2,9" +locations_default(#20037,#10000,2,9,2,9) +hasLocation(#20036,#20037) +#20038=* +tokeninfo(#20038,8,#20001,13,":") +#20039=@"loc,{#10000},2,10,2,10" +locations_default(#20039,#10000,2,10,2,10) +hasLocation(#20038,#20039) +#20040=* +tokeninfo(#20040,6,#20001,14,"number") +#20041=@"loc,{#10000},2,12,2,17" +locations_default(#20041,#10000,2,12,2,17) +hasLocation(#20040,#20041) +#20042=* +tokeninfo(#20042,8,#20001,15,")") +#20043=@"loc,{#10000},2,18,2,18" +locations_default(#20043,#10000,2,18,2,18) +hasLocation(#20042,#20043) +#20044=* +tokeninfo(#20044,8,#20001,16,"=>") +#20045=@"loc,{#10000},2,20,2,21" +locations_default(#20045,#10000,2,20,2,21) +hasLocation(#20044,#20045) +#20046=* +tokeninfo(#20046,6,#20001,17,"x") +#20047=@"loc,{#10000},2,23,2,23" +locations_default(#20047,#10000,2,23,2,23) +hasLocation(#20046,#20047) +#20048=* +tokeninfo(#20048,8,#20001,18,";") +#20049=@"loc,{#10000},2,24,2,24" +locations_default(#20049,#10000,2,24,2,24) +hasLocation(#20048,#20049) +#20050=* +tokeninfo(#20050,8,#20001,19,"(") +#20051=@"loc,{#10000},3,1,3,1" +locations_default(#20051,#10000,3,1,3,1) +hasLocation(#20050,#20051) +#20052=* +tokeninfo(#20052,8,#20001,20,"...") +#20053=@"loc,{#10000},3,2,3,4" +locations_default(#20053,#10000,3,2,3,4) +hasLocation(#20052,#20053) +#20054=* +tokeninfo(#20054,8,#20001,21,"{") +#20055=@"loc,{#10000},3,5,3,5" +locations_default(#20055,#10000,3,5,3,5) +hasLocation(#20054,#20055) +#20056=* +tokeninfo(#20056,6,#20001,22,"length") +#20057=@"loc,{#10000},3,6,3,11" +locations_default(#20057,#10000,3,6,3,11) +hasLocation(#20056,#20057) +#20058=* +tokeninfo(#20058,8,#20001,23,"}") +#20059=@"loc,{#10000},3,12,3,12" +locations_default(#20059,#10000,3,12,3,12) +hasLocation(#20058,#20059) +#20060=* +tokeninfo(#20060,8,#20001,24,":") +#20061=@"loc,{#10000},3,13,3,13" +locations_default(#20061,#10000,3,13,3,13) +hasLocation(#20060,#20061) +#20062=* +tokeninfo(#20062,6,#20001,25,"Object") +#20063=@"loc,{#10000},3,15,3,20" +locations_default(#20063,#10000,3,15,3,20) +hasLocation(#20062,#20063) +#20064=* +tokeninfo(#20064,8,#20001,26,")") +#20065=@"loc,{#10000},3,21,3,21" +locations_default(#20065,#10000,3,21,3,21) +hasLocation(#20064,#20065) +#20066=* +tokeninfo(#20066,8,#20001,27,":") +#20067=@"loc,{#10000},3,22,3,22" +locations_default(#20067,#10000,3,22,3,22) +hasLocation(#20066,#20067) +#20068=* +tokeninfo(#20068,6,#20001,28,"number") +#20069=@"loc,{#10000},3,24,3,29" +locations_default(#20069,#10000,3,24,3,29) +hasLocation(#20068,#20069) +#20070=* +tokeninfo(#20070,8,#20001,29,"=>") +#20071=@"loc,{#10000},3,31,3,32" +locations_default(#20071,#10000,3,31,3,32) +hasLocation(#20070,#20071) +#20072=* +tokeninfo(#20072,6,#20001,30,"length") +#20073=@"loc,{#10000},3,34,3,39" +locations_default(#20073,#10000,3,34,3,39) +hasLocation(#20072,#20073) +#20074=* +tokeninfo(#20074,8,#20001,31,";") +#20075=@"loc,{#10000},3,40,3,40" +locations_default(#20075,#10000,3,40,3,40) +hasLocation(#20074,#20075) +#20076=* +tokeninfo(#20076,6,#20001,32,"async") +#20077=@"loc,{#10000},4,1,4,5" +locations_default(#20077,#10000,4,1,4,5) +hasLocation(#20076,#20077) +#20078=* +tokeninfo(#20078,8,#20001,33,"(") +#20079=@"loc,{#10000},4,7,4,7" +locations_default(#20079,#10000,4,7,4,7) +hasLocation(#20078,#20079) +#20080=* +tokeninfo(#20080,8,#20001,34,"...") +#20081=@"loc,{#10000},4,8,4,10" +locations_default(#20081,#10000,4,8,4,10) +hasLocation(#20080,#20081) +#20082=* +tokeninfo(#20082,8,#20001,35,"{") +#20083=@"loc,{#10000},4,11,4,11" +locations_default(#20083,#10000,4,11,4,11) +hasLocation(#20082,#20083) +#20084=* +tokeninfo(#20084,6,#20001,36,"length") +#20085=@"loc,{#10000},4,12,4,17" +locations_default(#20085,#10000,4,12,4,17) +hasLocation(#20084,#20085) +#20086=* +tokeninfo(#20086,8,#20001,37,"}") +#20087=@"loc,{#10000},4,18,4,18" +locations_default(#20087,#10000,4,18,4,18) +hasLocation(#20086,#20087) +#20088=* +tokeninfo(#20088,8,#20001,38,":") +#20089=@"loc,{#10000},4,19,4,19" +locations_default(#20089,#10000,4,19,4,19) +hasLocation(#20088,#20089) +#20090=* +tokeninfo(#20090,6,#20001,39,"Object") +#20091=@"loc,{#10000},4,21,4,26" +locations_default(#20091,#10000,4,21,4,26) +hasLocation(#20090,#20091) +#20092=* +tokeninfo(#20092,8,#20001,40,")") +#20093=@"loc,{#10000},4,27,4,27" +locations_default(#20093,#10000,4,27,4,27) +hasLocation(#20092,#20093) +#20094=* +tokeninfo(#20094,8,#20001,41,":") +#20095=@"loc,{#10000},4,28,4,28" +locations_default(#20095,#10000,4,28,4,28) +hasLocation(#20094,#20095) +#20096=* +tokeninfo(#20096,6,#20001,42,"Promise") +#20097=@"loc,{#10000},4,30,4,36" +locations_default(#20097,#10000,4,30,4,36) +hasLocation(#20096,#20097) +#20098=* +tokeninfo(#20098,8,#20001,43,"<") +#20099=@"loc,{#10000},4,37,4,37" +locations_default(#20099,#10000,4,37,4,37) +hasLocation(#20098,#20099) +#20100=* +tokeninfo(#20100,6,#20001,44,"number") +#20101=@"loc,{#10000},4,38,4,43" +locations_default(#20101,#10000,4,38,4,43) +hasLocation(#20100,#20101) +#20102=* +tokeninfo(#20102,8,#20001,45,">") +#20103=@"loc,{#10000},4,44,4,44" +locations_default(#20103,#10000,4,44,4,44) +hasLocation(#20102,#20103) +#20104=* +tokeninfo(#20104,8,#20001,46,"=>") +#20105=@"loc,{#10000},4,46,4,47" +locations_default(#20105,#10000,4,46,4,47) +hasLocation(#20104,#20105) +#20106=* +tokeninfo(#20106,6,#20001,47,"length") +#20107=@"loc,{#10000},4,49,4,54" +locations_default(#20107,#10000,4,49,4,54) +hasLocation(#20106,#20107) +#20108=* +tokeninfo(#20108,8,#20001,48,";") +#20109=@"loc,{#10000},4,55,4,55" +locations_default(#20109,#10000,4,55,4,55) +hasLocation(#20108,#20109) +#20110=* +tokeninfo(#20110,6,#20001,49,"condition") +#20111=@"loc,{#10000},5,1,5,9" +locations_default(#20111,#10000,5,1,5,9) +hasLocation(#20110,#20111) +#20112=* +tokeninfo(#20112,8,#20001,50,"?") +#20113=@"loc,{#10000},5,11,5,11" +locations_default(#20113,#10000,5,11,5,11) +hasLocation(#20112,#20113) +#20114=* +tokeninfo(#20114,8,#20001,51,"(") +#20115=@"loc,{#10000},5,13,5,13" +locations_default(#20115,#10000,5,13,5,13) +hasLocation(#20114,#20115) +#20116=* +tokeninfo(#20116,6,#20001,52,"x") +#20117=@"loc,{#10000},5,14,5,14" +locations_default(#20117,#10000,5,14,5,14) +hasLocation(#20116,#20117) +#20118=* +tokeninfo(#20118,8,#20001,53,")") +#20119=@"loc,{#10000},5,15,5,15" +locations_default(#20119,#10000,5,15,5,15) +hasLocation(#20118,#20119) +#20120=* +tokeninfo(#20120,8,#20001,54,":") +#20121=@"loc,{#10000},5,17,5,17" +locations_default(#20121,#10000,5,17,5,17) +hasLocation(#20120,#20121) +#20122=* +tokeninfo(#20122,6,#20001,55,"y") +#20123=@"loc,{#10000},5,19,5,19" +locations_default(#20123,#10000,5,19,5,19) +hasLocation(#20122,#20123) +#20124=* +tokeninfo(#20124,8,#20001,56,";") +#20125=@"loc,{#10000},5,20,5,20" +locations_default(#20125,#10000,5,20,5,20) +hasLocation(#20124,#20125) +#20126=* +tokeninfo(#20126,0,#20001,57,"") +#20127=@"loc,{#10000},5,21,5,20" +locations_default(#20127,#10000,5,21,5,20) +hasLocation(#20126,#20127) +toplevels(#20001,0) +#20128=@"loc,{#10000},1,1,5,20" +locations_default(#20128,#10000,1,1,5,20) +hasLocation(#20001,#20128) +#20129=@"var;{this};{#20000}" +variables(#20129,"this",#20000) +#20130=* +stmts(#20130,2,#20001,0,"(x?: number) => x;") +hasLocation(#20130,#20003) +stmt_containers(#20130,#20001) +#20131=* +exprs(#20131,65,#20130,0,"(x?: number) => x") +#20132=@"loc,{#10000},1,1,1,17" +locations_default(#20132,#10000,1,1,1,17) +hasLocation(#20131,#20132) +enclosing_stmt(#20131,#20130) +expr_containers(#20131,#20001) +#20133=* +scopes(#20133,1) +scopenodes(#20131,#20133) +scopenesting(#20133,#20000) +#20134=@"var;{x};{#20133}" +variables(#20134,"x",#20133) +#20135=* +exprs(#20135,78,#20131,0,"x") +hasLocation(#20135,#20015) +expr_containers(#20135,#20131) +literals("x","x",#20135) +decl(#20135,#20134) +#20136=* +exprs(#20136,79,#20131,-2,"x") +hasLocation(#20136,#20027) +expr_containers(#20136,#20131) +literals("x","x",#20136) +bind(#20136,#20134) +#20137=* +stmts(#20137,2,#20001,1,"async ( ... ) => x;") +hasLocation(#20137,#20005) +stmt_containers(#20137,#20001) +#20138=* +exprs(#20138,65,#20137,0,"async ( ... r) => x") +#20139=@"loc,{#10000},2,1,2,23" +locations_default(#20139,#10000,2,1,2,23) +hasLocation(#20138,#20139) +enclosing_stmt(#20138,#20137) +expr_containers(#20138,#20001) +#20140=* +scopes(#20140,1) +scopenodes(#20138,#20140) +scopenesting(#20140,#20000) +#20141=@"var;{x};{#20140}" +variables(#20141,"x",#20140) +#20142=* +exprs(#20142,78,#20138,0,"x?: number") +#20143=@"loc,{#10000},2,8,2,17" +locations_default(#20143,#10000,2,8,2,17) +hasLocation(#20142,#20143) +expr_containers(#20142,#20138) +literals("x","x",#20142) +decl(#20142,#20141) +is_async(#20138) +#20144=* +exprs(#20144,79,#20138,-2,"x") +hasLocation(#20144,#20047) +expr_containers(#20144,#20138) +literals("x","x",#20144) +bind(#20144,#20141) +#20145=* +stmts(#20145,2,#20001,2,"(...{le ... length;") +hasLocation(#20145,#20007) +stmt_containers(#20145,#20001) +#20146=* +exprs(#20146,65,#20145,0,"(...{le ... length") +#20147=@"loc,{#10000},3,1,3,39" +locations_default(#20147,#10000,3,1,3,39) +hasLocation(#20146,#20147) +enclosing_stmt(#20146,#20145) +expr_containers(#20146,#20001) +#20148=* +scopes(#20148,1) +scopenodes(#20146,#20148) +scopenesting(#20148,#20000) +#20149=@"var;{length};{#20148}" +variables(#20149,"length",#20148) +#20150=* +exprs(#20150,68,#20146,0,"{length}: Object") +#20151=@"loc,{#10000},3,5,3,20" +locations_default(#20151,#10000,3,5,3,20) +hasLocation(#20150,#20151) +expr_containers(#20150,#20146) +#20152=* +properties(#20152,#20150,0,0,"length") +hasLocation(#20152,#20057) +#20153=* +exprs(#20153,0,#20152,0,"length") +hasLocation(#20153,#20057) +expr_containers(#20153,#20146) +literals("length","length",#20153) +#20154=* +exprs(#20154,78,#20152,1,"length") +hasLocation(#20154,#20057) +expr_containers(#20154,#20146) +literals("length","length",#20154) +decl(#20154,#20149) +has_rest_parameter(#20146) +#20155=* +exprs(#20155,79,#20146,-2,"length") +hasLocation(#20155,#20073) +expr_containers(#20155,#20146) +literals("length","length",#20155) +bind(#20155,#20149) +#20156=* +stmts(#20156,2,#20001,3,"async ( ... length;") +hasLocation(#20156,#20009) +stmt_containers(#20156,#20001) +#20157=* +exprs(#20157,65,#20156,0,"async ( ... length") +#20158=@"loc,{#10000},4,1,4,54" +locations_default(#20158,#10000,4,1,4,54) +hasLocation(#20157,#20158) +enclosing_stmt(#20157,#20156) +expr_containers(#20157,#20001) +#20159=* +scopes(#20159,1) +scopenodes(#20157,#20159) +scopenesting(#20159,#20000) +#20160=@"var;{length};{#20159}" +variables(#20160,"length",#20159) +#20161=* +exprs(#20161,68,#20157,0,"{length}") +#20162=@"loc,{#10000},4,11,4,18" +locations_default(#20162,#10000,4,11,4,18) +hasLocation(#20161,#20162) +expr_containers(#20161,#20157) +#20163=* +properties(#20163,#20161,0,0,"length") +hasLocation(#20163,#20085) +#20164=* +exprs(#20164,0,#20163,0,"length") +hasLocation(#20164,#20085) +expr_containers(#20164,#20157) +literals("length","length",#20164) +#20165=* +exprs(#20165,78,#20163,1,"length") +hasLocation(#20165,#20085) +expr_containers(#20165,#20157) +literals("length","length",#20165) +decl(#20165,#20160) +has_rest_parameter(#20157) +is_async(#20157) +#20166=* +exprs(#20166,79,#20157,-2,"length") +hasLocation(#20166,#20107) +expr_containers(#20166,#20157) +literals("length","length",#20166) +bind(#20166,#20160) +#20167=* +stmts(#20167,2,#20001,4,"condition ? (x) : y;") +hasLocation(#20167,#20011) +stmt_containers(#20167,#20001) +#20168=* +exprs(#20168,11,#20167,0,"condition ? (x) : y") +#20169=@"loc,{#10000},5,1,5,19" +locations_default(#20169,#10000,5,1,5,19) +hasLocation(#20168,#20169) +enclosing_stmt(#20168,#20167) +expr_containers(#20168,#20001) +#20170=* +exprs(#20170,79,#20168,0,"condition") +hasLocation(#20170,#20111) +enclosing_stmt(#20170,#20167) +expr_containers(#20170,#20001) +literals("condition","condition",#20170) +#20171=@"var;{condition};{#20000}" +variables(#20171,"condition",#20000) +bind(#20170,#20171) +#20172=* +exprs(#20172,63,#20168,1,"(x)") +#20173=@"loc,{#10000},5,13,5,15" +locations_default(#20173,#10000,5,13,5,15) +hasLocation(#20172,#20173) +enclosing_stmt(#20172,#20167) +expr_containers(#20172,#20001) +#20174=* +exprs(#20174,79,#20172,0,"x") +hasLocation(#20174,#20117) +enclosing_stmt(#20174,#20167) +expr_containers(#20174,#20001) +literals("x","x",#20174) +#20175=@"var;{x};{#20000}" +variables(#20175,"x",#20000) +bind(#20174,#20175) +#20176=* +exprs(#20176,79,#20168,2,"y") +hasLocation(#20176,#20123) +enclosing_stmt(#20176,#20167) +expr_containers(#20176,#20001) +literals("y","y",#20176) +#20177=@"var;{y};{#20000}" +variables(#20177,"y",#20000) +bind(#20176,#20177) +#20178=* +entry_cfg_node(#20178,#20001) +#20179=@"loc,{#10000},1,1,1,0" +locations_default(#20179,#10000,1,1,1,0) +hasLocation(#20178,#20179) +#20180=* +exit_cfg_node(#20180,#20001) +hasLocation(#20180,#20127) +successor(#20167,#20168) +successor(#20168,#20170) +#20181=* +guard_node(#20181,1,#20170) +hasLocation(#20181,#20111) +successor(#20181,#20172) +#20182=* +guard_node(#20182,0,#20170) +hasLocation(#20182,#20111) +successor(#20182,#20176) +successor(#20170,#20181) +successor(#20170,#20182) +successor(#20172,#20174) +successor(#20174,#20180) +successor(#20176,#20180) +successor(#20156,#20157) +successor(#20157,#20167) +#20183=* +entry_cfg_node(#20183,#20157) +#20184=@"loc,{#10000},4,1,4,0" +locations_default(#20184,#10000,4,1,4,0) +hasLocation(#20183,#20184) +#20185=* +exit_cfg_node(#20185,#20157) +#20186=@"loc,{#10000},4,55,4,54" +locations_default(#20186,#10000,4,55,4,54) +hasLocation(#20185,#20186) +successor(#20166,#20185) +successor(#20161,#20164) +successor(#20165,#20163) +successor(#20164,#20165) +successor(#20163,#20166) +successor(#20183,#20161) +successor(#20145,#20146) +successor(#20146,#20156) +#20187=* +entry_cfg_node(#20187,#20146) +#20188=@"loc,{#10000},3,1,3,0" +locations_default(#20188,#10000,3,1,3,0) +hasLocation(#20187,#20188) +#20189=* +exit_cfg_node(#20189,#20146) +#20190=@"loc,{#10000},3,40,3,39" +locations_default(#20190,#10000,3,40,3,39) +hasLocation(#20189,#20190) +successor(#20155,#20189) +successor(#20150,#20153) +successor(#20154,#20152) +successor(#20153,#20154) +successor(#20152,#20155) +successor(#20187,#20150) +successor(#20137,#20138) +successor(#20138,#20145) +#20191=* +entry_cfg_node(#20191,#20138) +#20192=@"loc,{#10000},2,1,2,0" +locations_default(#20192,#10000,2,1,2,0) +hasLocation(#20191,#20192) +#20193=* +exit_cfg_node(#20193,#20138) +#20194=@"loc,{#10000},2,24,2,23" +locations_default(#20194,#10000,2,24,2,23) +hasLocation(#20193,#20194) +successor(#20144,#20193) +successor(#20142,#20144) +successor(#20191,#20142) +successor(#20130,#20131) +successor(#20131,#20137) +#20195=* +entry_cfg_node(#20195,#20131) +hasLocation(#20195,#20179) +#20196=* +exit_cfg_node(#20196,#20131) +#20197=@"loc,{#10000},1,18,1,17" +locations_default(#20197,#10000,1,18,1,17) +hasLocation(#20196,#20197) +successor(#20136,#20196) +successor(#20135,#20136) +successor(#20195,#20135) +successor(#20178,#20130) +numlines(#10000,5,5,0) +filetype(#10000,"javascript") diff --git a/javascript/extractor/tests/restprops/input/invalid-defaulted-rest-parameter.js b/javascript/extractor/tests/restprops/input/invalid-defaulted-rest-parameter.js new file mode 100644 index 000000000000..4a40e9cdeb70 --- /dev/null +++ b/javascript/extractor/tests/restprops/input/invalid-defaulted-rest-parameter.js @@ -0,0 +1 @@ +(...[item] = []) => item \ No newline at end of file diff --git a/javascript/extractor/tests/restprops/input/invalid-duplicate-rest-binding.js b/javascript/extractor/tests/restprops/input/invalid-duplicate-rest-binding.js new file mode 100644 index 000000000000..73639791bb63 --- /dev/null +++ b/javascript/extractor/tests/restprops/input/invalid-duplicate-rest-binding.js @@ -0,0 +1 @@ +(...[item, ...item]) => item \ No newline at end of file diff --git a/javascript/extractor/tests/restprops/input/invalid-for-of-rest-trailing-comma.js b/javascript/extractor/tests/restprops/input/invalid-for-of-rest-trailing-comma.js new file mode 100644 index 000000000000..b805e59c9903 --- /dev/null +++ b/javascript/extractor/tests/restprops/input/invalid-for-of-rest-trailing-comma.js @@ -0,0 +1 @@ +for ({...rest,} of items) {} \ No newline at end of file diff --git a/javascript/extractor/tests/restprops/input/invalid-member-binding.js b/javascript/extractor/tests/restprops/input/invalid-member-binding.js new file mode 100644 index 000000000000..b0d18eaa6328 --- /dev/null +++ b/javascript/extractor/tests/restprops/input/invalid-member-binding.js @@ -0,0 +1 @@ +(...{x: obj.x}) => x \ No newline at end of file diff --git a/javascript/extractor/tests/restprops/input/invalid-member-rest-parameter.js b/javascript/extractor/tests/restprops/input/invalid-member-rest-parameter.js new file mode 100644 index 000000000000..ec163d5f722a --- /dev/null +++ b/javascript/extractor/tests/restprops/input/invalid-member-rest-parameter.js @@ -0,0 +1 @@ +(...obj.x) => x \ No newline at end of file diff --git a/javascript/extractor/tests/restprops/input/invalid-nested-object-rest-binding.js b/javascript/extractor/tests/restprops/input/invalid-nested-object-rest-binding.js new file mode 100644 index 000000000000..b859925c0cf7 --- /dev/null +++ b/javascript/extractor/tests/restprops/input/invalid-nested-object-rest-binding.js @@ -0,0 +1 @@ +const {...{x}} = obj; \ No newline at end of file diff --git a/javascript/extractor/tests/restprops/input/invalid-parenthesized-property-binding.js b/javascript/extractor/tests/restprops/input/invalid-parenthesized-property-binding.js new file mode 100644 index 000000000000..dcd18d7ab394 --- /dev/null +++ b/javascript/extractor/tests/restprops/input/invalid-parenthesized-property-binding.js @@ -0,0 +1 @@ +({x: (value)}, y = 0) => value \ No newline at end of file diff --git a/javascript/extractor/tests/restprops/input/invalid-parenthesized-rest-assignment.js b/javascript/extractor/tests/restprops/input/invalid-parenthesized-rest-assignment.js new file mode 100644 index 000000000000..e739ceb36c04 --- /dev/null +++ b/javascript/extractor/tests/restprops/input/invalid-parenthesized-rest-assignment.js @@ -0,0 +1 @@ +([...({x})] = items); \ No newline at end of file diff --git a/javascript/extractor/tests/restprops/input/invalid-parenthesized-rest-parameter.js b/javascript/extractor/tests/restprops/input/invalid-parenthesized-rest-parameter.js new file mode 100644 index 000000000000..dc8815c7d907 --- /dev/null +++ b/javascript/extractor/tests/restprops/input/invalid-parenthesized-rest-parameter.js @@ -0,0 +1 @@ +(...(args)) => args \ No newline at end of file diff --git a/javascript/extractor/tests/restprops/input/invalid-parenthesized-update.js b/javascript/extractor/tests/restprops/input/invalid-parenthesized-update.js new file mode 100644 index 000000000000..169a4bdf309a --- /dev/null +++ b/javascript/extractor/tests/restprops/input/invalid-parenthesized-update.js @@ -0,0 +1 @@ +++([x]) \ No newline at end of file diff --git a/javascript/extractor/tests/restprops/input/invalid-rest-not-last.js b/javascript/extractor/tests/restprops/input/invalid-rest-not-last.js new file mode 100644 index 000000000000..35a3fd5e7312 --- /dev/null +++ b/javascript/extractor/tests/restprops/input/invalid-rest-not-last.js @@ -0,0 +1 @@ +({...rest, x} = obj); \ No newline at end of file diff --git a/javascript/extractor/tests/restprops/input/invalid-rest-parameter-not-last.js b/javascript/extractor/tests/restprops/input/invalid-rest-parameter-not-last.js new file mode 100644 index 000000000000..0a92138a495f --- /dev/null +++ b/javascript/extractor/tests/restprops/input/invalid-rest-parameter-not-last.js @@ -0,0 +1 @@ +(...[item], other) => item \ No newline at end of file diff --git a/javascript/extractor/tests/restprops/input/invalid-rest-parameter-trailing-comma.js b/javascript/extractor/tests/restprops/input/invalid-rest-parameter-trailing-comma.js new file mode 100644 index 000000000000..09b4cdbeed1e --- /dev/null +++ b/javascript/extractor/tests/restprops/input/invalid-rest-parameter-trailing-comma.js @@ -0,0 +1 @@ +(...[item],) => item \ No newline at end of file diff --git a/javascript/extractor/tests/restprops/input/invalid-rest-trailing-comma-assignment.js b/javascript/extractor/tests/restprops/input/invalid-rest-trailing-comma-assignment.js new file mode 100644 index 000000000000..cc3fa12ee6db --- /dev/null +++ b/javascript/extractor/tests/restprops/input/invalid-rest-trailing-comma-assignment.js @@ -0,0 +1 @@ +({...rest,} = obj); \ No newline at end of file diff --git a/javascript/extractor/tests/restprops/input/invalid-rest-trailing-comma-binding.js b/javascript/extractor/tests/restprops/input/invalid-rest-trailing-comma-binding.js new file mode 100644 index 000000000000..7ea825fbd96c --- /dev/null +++ b/javascript/extractor/tests/restprops/input/invalid-rest-trailing-comma-binding.js @@ -0,0 +1 @@ +const {...rest,} = obj; \ No newline at end of file diff --git a/javascript/extractor/tests/restprops/input/invalid-sibling-rest-errors.js b/javascript/extractor/tests/restprops/input/invalid-sibling-rest-errors.js new file mode 100644 index 000000000000..085c492ea160 --- /dev/null +++ b/javascript/extractor/tests/restprops/input/invalid-sibling-rest-errors.js @@ -0,0 +1 @@ +([{...rest,}, {...obj,}.x] = items) \ No newline at end of file diff --git a/javascript/extractor/tests/restprops/input/rest-patterns.js b/javascript/extractor/tests/restprops/input/rest-patterns.js new file mode 100644 index 000000000000..2c611c3da2f7 --- /dev/null +++ b/javascript/extractor/tests/restprops/input/rest-patterns.js @@ -0,0 +1,78 @@ +(...{length}) => length; +async (...{length}) => length; +function restObject1(...{length}) {} +async function restObject2(...{length}) {} +function* restObject3(...{length}) {} +async function* restObject4(...{length}) {} +({ method(...{length}) {} }); +class RestObject { constructor(...{length}) {} } +(...{0: x = 1, ...rest}) => x; +async (...{0: x = 1, ...rest}) => x; + +(...[first, ...{length}]) => length; +async (...[first, ...{length}]) => length; +([first, ...{length}]) => length; +{ + const [first, ...{length}] = items; +} +([first, ...{length}] = items); +for (const [first, ...{length}] of items) {} +try {} catch ([first, ...{length}]) {} +([...{x: obj.x}] = items); + +([...(obj.x)] = items); +([...(x)] = items); +([...obj.x] = items); +({...(obj.rest)} = obj); + +{ + const {x, ...rest} = obj; +} +({x, ...obj.rest} = obj); +({ ...obj, }); +({ ...obj, x: 1 }); +({ ...a, ...b }); + +{ + const {x = {...obj, y: 1}, ...rest} = input; +} +({x = {...obj, y: 1}, ...rest}) => x; +async ({x = {...obj, y: 1}, ...rest}) => x; +([x = (value), ...rest] = []) => x; +async ({x = (value), ...rest} = {}) => x; +([{...obj, x: 1}.x] = items); +([...({...obj, x: 1}).x] = items); +({[{...obj, x: 1}.x]: value, ...rest} = input); +consume({...obj, x: 1}); + +[...xs, x = 1]; +consume(...xs, x = 1); +async (...xs, x = 1); +({...rest, x: value = 1}); +({x = 1, y: value = 0} = input); +({x = 1, y: value = 0}) => x; +([{...rest,}.x, value = 1] = items); + +1 + {...obj,}; +!{...obj,}; +({...obj,} ? x : y); +({...obj,}, x = 1); +for ({...rest,}.x of items) {} + +(x) = y; +++(x); +(obj.x)++; + +{ + const values = [1, 2, 3]; + function collect(value, index, suffix) { + return { value, index, suffix }; + } + values.map(value => [value, (...[index, ...suffix]) => collect(value, index, suffix)]); +} +(...[index, ...suffix]) => index; +async (...[index, ...suffix]) => index; +function restArray(...[index, ...suffix]) {} +([index, ...[suffix]]) => suffix; +(...{length, ...rest}) => length; +async (...{length, ...rest}) => length; \ No newline at end of file diff --git a/javascript/extractor/tests/restprops/output/trap/invalid-defaulted-rest-parameter.js.trap b/javascript/extractor/tests/restprops/output/trap/invalid-defaulted-rest-parameter.js.trap new file mode 100644 index 000000000000..3753c0695d4b --- /dev/null +++ b/javascript/extractor/tests/restprops/output/trap/invalid-defaulted-rest-parameter.js.trap @@ -0,0 +1,28 @@ +#10000=@"/invalid-defaulted-rest-parameter.js;sourcefile" +files(#10000,"/invalid-defaulted-rest-parameter.js") +#10001=@"/;folder" +folders(#10001,"/") +containerparent(#10001,#10000) +#10002=@"loc,{#10000},0,0,0,0" +locations_default(#10002,#10000,0,0,0,0) +hasLocation(#10000,#10002) +#20000=@"global_scope" +scopes(#20000,0) +#20001=@"script;{#10000},1,1" +toplevels(#20001,0) +#20002=@"loc,{#10000},1,1,1,1" +locations_default(#20002,#10000,1,1,1,1) +hasLocation(#20001,#20002) +#20003=* +js_parse_errors(#20003,#20001,"Error: Unexpected token","(...[item] = []) => item") +#20004=@"loc,{#10000},1,12,1,12" +locations_default(#20004,#10000,1,12,1,12) +hasLocation(#20003,#20004) +#20005=* +lines(#20005,#20001,"(...[item] = []) => item","") +#20006=@"loc,{#10000},1,1,1,24" +locations_default(#20006,#10000,1,1,1,24) +hasLocation(#20005,#20006) +numlines(#20001,1,0,0) +numlines(#10000,1,0,0) +filetype(#10000,"javascript") diff --git a/javascript/extractor/tests/restprops/output/trap/invalid-duplicate-rest-binding.js.trap b/javascript/extractor/tests/restprops/output/trap/invalid-duplicate-rest-binding.js.trap new file mode 100644 index 000000000000..3bec7b8eb355 --- /dev/null +++ b/javascript/extractor/tests/restprops/output/trap/invalid-duplicate-rest-binding.js.trap @@ -0,0 +1,155 @@ +#10000=@"/invalid-duplicate-rest-binding.js;sourcefile" +files(#10000,"/invalid-duplicate-rest-binding.js") +#10001=@"/;folder" +folders(#10001,"/") +containerparent(#10001,#10000) +#10002=@"loc,{#10000},0,0,0,0" +locations_default(#10002,#10000,0,0,0,0) +hasLocation(#10000,#10002) +#20000=@"global_scope" +scopes(#20000,0) +#20001=@"script;{#10000},1,1" +#20002=* +lines(#20002,#20001,"(...[item, ...item]) => item","") +#20003=@"loc,{#10000},1,1,1,28" +locations_default(#20003,#10000,1,1,1,28) +hasLocation(#20002,#20003) +numlines(#20001,1,1,0) +#20004=* +tokeninfo(#20004,8,#20001,0,"(") +#20005=@"loc,{#10000},1,1,1,1" +locations_default(#20005,#10000,1,1,1,1) +hasLocation(#20004,#20005) +#20006=* +tokeninfo(#20006,8,#20001,1,"...") +#20007=@"loc,{#10000},1,2,1,4" +locations_default(#20007,#10000,1,2,1,4) +hasLocation(#20006,#20007) +#20008=* +tokeninfo(#20008,8,#20001,2,"[") +#20009=@"loc,{#10000},1,5,1,5" +locations_default(#20009,#10000,1,5,1,5) +hasLocation(#20008,#20009) +#20010=* +tokeninfo(#20010,6,#20001,3,"item") +#20011=@"loc,{#10000},1,6,1,9" +locations_default(#20011,#10000,1,6,1,9) +hasLocation(#20010,#20011) +#20012=* +tokeninfo(#20012,8,#20001,4,",") +#20013=@"loc,{#10000},1,10,1,10" +locations_default(#20013,#10000,1,10,1,10) +hasLocation(#20012,#20013) +#20014=* +tokeninfo(#20014,8,#20001,5,"...") +#20015=@"loc,{#10000},1,12,1,14" +locations_default(#20015,#10000,1,12,1,14) +hasLocation(#20014,#20015) +#20016=* +tokeninfo(#20016,6,#20001,6,"item") +#20017=@"loc,{#10000},1,15,1,18" +locations_default(#20017,#10000,1,15,1,18) +hasLocation(#20016,#20017) +#20018=* +tokeninfo(#20018,8,#20001,7,"]") +#20019=@"loc,{#10000},1,19,1,19" +locations_default(#20019,#10000,1,19,1,19) +hasLocation(#20018,#20019) +#20020=* +tokeninfo(#20020,8,#20001,8,")") +#20021=@"loc,{#10000},1,20,1,20" +locations_default(#20021,#10000,1,20,1,20) +hasLocation(#20020,#20021) +#20022=* +tokeninfo(#20022,8,#20001,9,"=>") +#20023=@"loc,{#10000},1,22,1,23" +locations_default(#20023,#10000,1,22,1,23) +hasLocation(#20022,#20023) +#20024=* +tokeninfo(#20024,6,#20001,10,"item") +#20025=@"loc,{#10000},1,25,1,28" +locations_default(#20025,#10000,1,25,1,28) +hasLocation(#20024,#20025) +#20026=* +tokeninfo(#20026,0,#20001,11,"") +#20027=@"loc,{#10000},1,29,1,28" +locations_default(#20027,#10000,1,29,1,28) +hasLocation(#20026,#20027) +toplevels(#20001,0) +hasLocation(#20001,#20003) +#20028=@"var;{this};{#20000}" +variables(#20028,"this",#20000) +#20029=* +stmts(#20029,2,#20001,0,"(...[it ... => item") +hasLocation(#20029,#20003) +stmt_containers(#20029,#20001) +#20030=* +exprs(#20030,65,#20029,0,"(...[it ... => item") +hasLocation(#20030,#20003) +enclosing_stmt(#20030,#20029) +expr_containers(#20030,#20001) +#20031=* +scopes(#20031,1) +scopenodes(#20030,#20031) +scopenesting(#20031,#20000) +#20032=@"var;{item};{#20031}" +variables(#20032,"item",#20031) +#20033=* +exprs(#20033,67,#20030,0,"[item, ...item]") +#20034=@"loc,{#10000},1,5,1,19" +locations_default(#20034,#10000,1,5,1,19) +hasLocation(#20033,#20034) +expr_containers(#20033,#20030) +#20035=* +exprs(#20035,78,#20033,0,"item") +hasLocation(#20035,#20011) +expr_containers(#20035,#20030) +literals("item","item",#20035) +decl(#20035,#20032) +#20036=* +exprs(#20036,78,#20033,-1,"item") +hasLocation(#20036,#20017) +expr_containers(#20036,#20030) +literals("item","item",#20036) +decl(#20036,#20032) +array_size(#20033,1) +has_rest_parameter(#20030) +#20037=* +exprs(#20037,79,#20030,-2,"item") +hasLocation(#20037,#20025) +expr_containers(#20037,#20030) +literals("item","item",#20037) +bind(#20037,#20032) +#20038=* +entry_cfg_node(#20038,#20001) +#20039=@"loc,{#10000},1,1,1,0" +locations_default(#20039,#10000,1,1,1,0) +hasLocation(#20038,#20039) +#20040=* +exit_cfg_node(#20040,#20001) +hasLocation(#20040,#20027) +successor(#20029,#20030) +successor(#20030,#20040) +#20041=* +entry_cfg_node(#20041,#20030) +hasLocation(#20041,#20039) +#20042=* +exit_cfg_node(#20042,#20030) +hasLocation(#20042,#20027) +successor(#20037,#20042) +successor(#20033,#20035) +successor(#20036,#20037) +successor(#20035,#20036) +successor(#20041,#20033) +successor(#20038,#20029) +#20043=* +js_parse_errors(#20043,#20001,"Error: Argument name clash","(...[item, ...item]) => item") +#20044=@"loc,{#10000},1,15,1,15" +locations_default(#20044,#10000,1,15,1,15) +hasLocation(#20043,#20044) +#20045=* +lines(#20045,#20001,"(...[item, ...item]) => item","") +hasLocation(#20045,#20003) +numlines(#20001,1,0,0) +numlines(#10000,1,1,0) +filetype(#10000,"javascript") diff --git a/javascript/extractor/tests/restprops/output/trap/invalid-for-of-rest-trailing-comma.js.trap b/javascript/extractor/tests/restprops/output/trap/invalid-for-of-rest-trailing-comma.js.trap new file mode 100644 index 000000000000..88cca4e6d084 --- /dev/null +++ b/javascript/extractor/tests/restprops/output/trap/invalid-for-of-rest-trailing-comma.js.trap @@ -0,0 +1,28 @@ +#10000=@"/invalid-for-of-rest-trailing-comma.js;sourcefile" +files(#10000,"/invalid-for-of-rest-trailing-comma.js") +#10001=@"/;folder" +folders(#10001,"/") +containerparent(#10001,#10000) +#10002=@"loc,{#10000},0,0,0,0" +locations_default(#10002,#10000,0,0,0,0) +hasLocation(#10000,#10002) +#20000=@"global_scope" +scopes(#20000,0) +#20001=@"script;{#10000},1,1" +toplevels(#20001,0) +#20002=@"loc,{#10000},1,1,1,1" +locations_default(#20002,#10000,1,1,1,1) +hasLocation(#20001,#20002) +#20003=* +js_parse_errors(#20003,#20001,"Error: Comma is not permitted after the rest element","for ({...rest,} of items) {}") +#20004=@"loc,{#10000},1,14,1,14" +locations_default(#20004,#10000,1,14,1,14) +hasLocation(#20003,#20004) +#20005=* +lines(#20005,#20001,"for ({...rest,} of items) {}","") +#20006=@"loc,{#10000},1,1,1,28" +locations_default(#20006,#10000,1,1,1,28) +hasLocation(#20005,#20006) +numlines(#20001,1,0,0) +numlines(#10000,1,0,0) +filetype(#10000,"javascript") diff --git a/javascript/extractor/tests/restprops/output/trap/invalid-member-binding.js.trap b/javascript/extractor/tests/restprops/output/trap/invalid-member-binding.js.trap new file mode 100644 index 000000000000..cbb0abc85df6 --- /dev/null +++ b/javascript/extractor/tests/restprops/output/trap/invalid-member-binding.js.trap @@ -0,0 +1,28 @@ +#10000=@"/invalid-member-binding.js;sourcefile" +files(#10000,"/invalid-member-binding.js") +#10001=@"/;folder" +folders(#10001,"/") +containerparent(#10001,#10000) +#10002=@"loc,{#10000},0,0,0,0" +locations_default(#10002,#10000,0,0,0,0) +hasLocation(#10000,#10002) +#20000=@"global_scope" +scopes(#20000,0) +#20001=@"script;{#10000},1,1" +toplevels(#20001,0) +#20002=@"loc,{#10000},1,1,1,1" +locations_default(#20002,#10000,1,1,1,1) +hasLocation(#20001,#20002) +#20003=* +js_parse_errors(#20003,#20001,"Error: Unexpected token","(...{x: obj.x}) => x") +#20004=@"loc,{#10000},1,12,1,12" +locations_default(#20004,#10000,1,12,1,12) +hasLocation(#20003,#20004) +#20005=* +lines(#20005,#20001,"(...{x: obj.x}) => x","") +#20006=@"loc,{#10000},1,1,1,20" +locations_default(#20006,#10000,1,1,1,20) +hasLocation(#20005,#20006) +numlines(#20001,1,0,0) +numlines(#10000,1,0,0) +filetype(#10000,"javascript") diff --git a/javascript/extractor/tests/restprops/output/trap/invalid-member-rest-parameter.js.trap b/javascript/extractor/tests/restprops/output/trap/invalid-member-rest-parameter.js.trap new file mode 100644 index 000000000000..991e758a77a5 --- /dev/null +++ b/javascript/extractor/tests/restprops/output/trap/invalid-member-rest-parameter.js.trap @@ -0,0 +1,28 @@ +#10000=@"/invalid-member-rest-parameter.js;sourcefile" +files(#10000,"/invalid-member-rest-parameter.js") +#10001=@"/;folder" +folders(#10001,"/") +containerparent(#10001,#10000) +#10002=@"loc,{#10000},0,0,0,0" +locations_default(#10002,#10000,0,0,0,0) +hasLocation(#10000,#10002) +#20000=@"global_scope" +scopes(#20000,0) +#20001=@"script;{#10000},1,1" +toplevels(#20001,0) +#20002=@"loc,{#10000},1,1,1,1" +locations_default(#20002,#10000,1,1,1,1) +hasLocation(#20001,#20002) +#20003=* +js_parse_errors(#20003,#20001,"Error: Unexpected token","(...obj.x) => x") +#20004=@"loc,{#10000},1,8,1,8" +locations_default(#20004,#10000,1,8,1,8) +hasLocation(#20003,#20004) +#20005=* +lines(#20005,#20001,"(...obj.x) => x","") +#20006=@"loc,{#10000},1,1,1,15" +locations_default(#20006,#10000,1,1,1,15) +hasLocation(#20005,#20006) +numlines(#20001,1,0,0) +numlines(#10000,1,0,0) +filetype(#10000,"javascript") diff --git a/javascript/extractor/tests/restprops/output/trap/invalid-nested-object-rest-binding.js.trap b/javascript/extractor/tests/restprops/output/trap/invalid-nested-object-rest-binding.js.trap new file mode 100644 index 000000000000..041bc0eae484 --- /dev/null +++ b/javascript/extractor/tests/restprops/output/trap/invalid-nested-object-rest-binding.js.trap @@ -0,0 +1,28 @@ +#10000=@"/invalid-nested-object-rest-binding.js;sourcefile" +files(#10000,"/invalid-nested-object-rest-binding.js") +#10001=@"/;folder" +folders(#10001,"/") +containerparent(#10001,#10000) +#10002=@"loc,{#10000},0,0,0,0" +locations_default(#10002,#10000,0,0,0,0) +hasLocation(#10000,#10002) +#20000=@"global_scope" +scopes(#20000,0) +#20001=@"script;{#10000},1,1" +toplevels(#20001,0) +#20002=@"loc,{#10000},1,1,1,1" +locations_default(#20002,#10000,1,1,1,1) +hasLocation(#20001,#20002) +#20003=* +js_parse_errors(#20003,#20001,"Error: Unexpected token","const {...{x}} = obj;") +#20004=@"loc,{#10000},1,11,1,11" +locations_default(#20004,#10000,1,11,1,11) +hasLocation(#20003,#20004) +#20005=* +lines(#20005,#20001,"const {...{x}} = obj;","") +#20006=@"loc,{#10000},1,1,1,21" +locations_default(#20006,#10000,1,1,1,21) +hasLocation(#20005,#20006) +numlines(#20001,1,0,0) +numlines(#10000,1,0,0) +filetype(#10000,"javascript") diff --git a/javascript/extractor/tests/restprops/output/trap/invalid-parenthesized-property-binding.js.trap b/javascript/extractor/tests/restprops/output/trap/invalid-parenthesized-property-binding.js.trap new file mode 100644 index 000000000000..35aaa33fbd5b --- /dev/null +++ b/javascript/extractor/tests/restprops/output/trap/invalid-parenthesized-property-binding.js.trap @@ -0,0 +1,28 @@ +#10000=@"/invalid-parenthesized-property-binding.js;sourcefile" +files(#10000,"/invalid-parenthesized-property-binding.js") +#10001=@"/;folder" +folders(#10001,"/") +containerparent(#10001,#10000) +#10002=@"loc,{#10000},0,0,0,0" +locations_default(#10002,#10000,0,0,0,0) +hasLocation(#10000,#10002) +#20000=@"global_scope" +scopes(#20000,0) +#20001=@"script;{#10000},1,1" +toplevels(#20001,0) +#20002=@"loc,{#10000},1,1,1,1" +locations_default(#20002,#10000,1,1,1,1) +hasLocation(#20001,#20002) +#20003=* +js_parse_errors(#20003,#20001,"Error: Parenthesized pattern","({x: (value)}, y = 0) => value") +#20004=@"loc,{#10000},1,6,1,6" +locations_default(#20004,#10000,1,6,1,6) +hasLocation(#20003,#20004) +#20005=* +lines(#20005,#20001,"({x: (value)}, y = 0) => value","") +#20006=@"loc,{#10000},1,1,1,30" +locations_default(#20006,#10000,1,1,1,30) +hasLocation(#20005,#20006) +numlines(#20001,1,0,0) +numlines(#10000,1,0,0) +filetype(#10000,"javascript") diff --git a/javascript/extractor/tests/restprops/output/trap/invalid-parenthesized-rest-assignment.js.trap b/javascript/extractor/tests/restprops/output/trap/invalid-parenthesized-rest-assignment.js.trap new file mode 100644 index 000000000000..1448c1d113a1 --- /dev/null +++ b/javascript/extractor/tests/restprops/output/trap/invalid-parenthesized-rest-assignment.js.trap @@ -0,0 +1,28 @@ +#10000=@"/invalid-parenthesized-rest-assignment.js;sourcefile" +files(#10000,"/invalid-parenthesized-rest-assignment.js") +#10001=@"/;folder" +folders(#10001,"/") +containerparent(#10001,#10000) +#10002=@"loc,{#10000},0,0,0,0" +locations_default(#10002,#10000,0,0,0,0) +hasLocation(#10000,#10002) +#20000=@"global_scope" +scopes(#20000,0) +#20001=@"script;{#10000},1,1" +toplevels(#20001,0) +#20002=@"loc,{#10000},1,1,1,1" +locations_default(#20002,#10000,1,1,1,1) +hasLocation(#20001,#20002) +#20003=* +js_parse_errors(#20003,#20001,"Error: Parenthesized pattern","([...({x})] = items);") +#20004=@"loc,{#10000},1,6,1,6" +locations_default(#20004,#10000,1,6,1,6) +hasLocation(#20003,#20004) +#20005=* +lines(#20005,#20001,"([...({x})] = items);","") +#20006=@"loc,{#10000},1,1,1,21" +locations_default(#20006,#10000,1,1,1,21) +hasLocation(#20005,#20006) +numlines(#20001,1,0,0) +numlines(#10000,1,0,0) +filetype(#10000,"javascript") diff --git a/javascript/extractor/tests/restprops/output/trap/invalid-parenthesized-rest-parameter.js.trap b/javascript/extractor/tests/restprops/output/trap/invalid-parenthesized-rest-parameter.js.trap new file mode 100644 index 000000000000..a19ad4779bb1 --- /dev/null +++ b/javascript/extractor/tests/restprops/output/trap/invalid-parenthesized-rest-parameter.js.trap @@ -0,0 +1,28 @@ +#10000=@"/invalid-parenthesized-rest-parameter.js;sourcefile" +files(#10000,"/invalid-parenthesized-rest-parameter.js") +#10001=@"/;folder" +folders(#10001,"/") +containerparent(#10001,#10000) +#10002=@"loc,{#10000},0,0,0,0" +locations_default(#10002,#10000,0,0,0,0) +hasLocation(#10000,#10002) +#20000=@"global_scope" +scopes(#20000,0) +#20001=@"script;{#10000},1,1" +toplevels(#20001,0) +#20002=@"loc,{#10000},1,1,1,1" +locations_default(#20002,#10000,1,1,1,1) +hasLocation(#20001,#20002) +#20003=* +js_parse_errors(#20003,#20001,"Error: Unexpected token","(...(args)) => args") +#20004=@"loc,{#10000},1,5,1,5" +locations_default(#20004,#10000,1,5,1,5) +hasLocation(#20003,#20004) +#20005=* +lines(#20005,#20001,"(...(args)) => args","") +#20006=@"loc,{#10000},1,1,1,19" +locations_default(#20006,#10000,1,1,1,19) +hasLocation(#20005,#20006) +numlines(#20001,1,0,0) +numlines(#10000,1,0,0) +filetype(#10000,"javascript") diff --git a/javascript/extractor/tests/restprops/output/trap/invalid-parenthesized-update.js.trap b/javascript/extractor/tests/restprops/output/trap/invalid-parenthesized-update.js.trap new file mode 100644 index 000000000000..a74d44542f00 --- /dev/null +++ b/javascript/extractor/tests/restprops/output/trap/invalid-parenthesized-update.js.trap @@ -0,0 +1,28 @@ +#10000=@"/invalid-parenthesized-update.js;sourcefile" +files(#10000,"/invalid-parenthesized-update.js") +#10001=@"/;folder" +folders(#10001,"/") +containerparent(#10001,#10000) +#10002=@"loc,{#10000},0,0,0,0" +locations_default(#10002,#10000,0,0,0,0) +hasLocation(#10000,#10002) +#20000=@"global_scope" +scopes(#20000,0) +#20001=@"script;{#10000},1,1" +toplevels(#20001,0) +#20002=@"loc,{#10000},1,1,1,1" +locations_default(#20002,#10000,1,1,1,1) +hasLocation(#20001,#20002) +#20003=* +js_parse_errors(#20003,#20001,"Error: Parenthesized pattern","++([x])") +#20004=@"loc,{#10000},1,3,1,3" +locations_default(#20004,#10000,1,3,1,3) +hasLocation(#20003,#20004) +#20005=* +lines(#20005,#20001,"++([x])","") +#20006=@"loc,{#10000},1,1,1,7" +locations_default(#20006,#10000,1,1,1,7) +hasLocation(#20005,#20006) +numlines(#20001,1,0,0) +numlines(#10000,1,0,0) +filetype(#10000,"javascript") diff --git a/javascript/extractor/tests/restprops/output/trap/invalid-rest-not-last.js.trap b/javascript/extractor/tests/restprops/output/trap/invalid-rest-not-last.js.trap new file mode 100644 index 000000000000..19c5025a7c4f --- /dev/null +++ b/javascript/extractor/tests/restprops/output/trap/invalid-rest-not-last.js.trap @@ -0,0 +1,28 @@ +#10000=@"/invalid-rest-not-last.js;sourcefile" +files(#10000,"/invalid-rest-not-last.js") +#10001=@"/;folder" +folders(#10001,"/") +containerparent(#10001,#10000) +#10002=@"loc,{#10000},0,0,0,0" +locations_default(#10002,#10000,0,0,0,0) +hasLocation(#10000,#10002) +#20000=@"global_scope" +scopes(#20000,0) +#20001=@"script;{#10000},1,1" +toplevels(#20001,0) +#20002=@"loc,{#10000},1,1,1,1" +locations_default(#20002,#10000,1,1,1,1) +hasLocation(#20001,#20002) +#20003=* +js_parse_errors(#20003,#20001,"Error: Comma is not permitted after the rest element","({...rest, x} = obj);") +#20004=@"loc,{#10000},1,10,1,10" +locations_default(#20004,#10000,1,10,1,10) +hasLocation(#20003,#20004) +#20005=* +lines(#20005,#20001,"({...rest, x} = obj);","") +#20006=@"loc,{#10000},1,1,1,21" +locations_default(#20006,#10000,1,1,1,21) +hasLocation(#20005,#20006) +numlines(#20001,1,0,0) +numlines(#10000,1,0,0) +filetype(#10000,"javascript") diff --git a/javascript/extractor/tests/restprops/output/trap/invalid-rest-parameter-not-last.js.trap b/javascript/extractor/tests/restprops/output/trap/invalid-rest-parameter-not-last.js.trap new file mode 100644 index 000000000000..2eeffd22b8b1 --- /dev/null +++ b/javascript/extractor/tests/restprops/output/trap/invalid-rest-parameter-not-last.js.trap @@ -0,0 +1,28 @@ +#10000=@"/invalid-rest-parameter-not-last.js;sourcefile" +files(#10000,"/invalid-rest-parameter-not-last.js") +#10001=@"/;folder" +folders(#10001,"/") +containerparent(#10001,#10000) +#10002=@"loc,{#10000},0,0,0,0" +locations_default(#10002,#10000,0,0,0,0) +hasLocation(#10000,#10002) +#20000=@"global_scope" +scopes(#20000,0) +#20001=@"script;{#10000},1,1" +toplevels(#20001,0) +#20002=@"loc,{#10000},1,1,1,1" +locations_default(#20002,#10000,1,1,1,1) +hasLocation(#20001,#20002) +#20003=* +js_parse_errors(#20003,#20001,"Error: Comma is not permitted after the rest element","(...[item], other) => item") +#20004=@"loc,{#10000},1,11,1,11" +locations_default(#20004,#10000,1,11,1,11) +hasLocation(#20003,#20004) +#20005=* +lines(#20005,#20001,"(...[item], other) => item","") +#20006=@"loc,{#10000},1,1,1,26" +locations_default(#20006,#10000,1,1,1,26) +hasLocation(#20005,#20006) +numlines(#20001,1,0,0) +numlines(#10000,1,0,0) +filetype(#10000,"javascript") diff --git a/javascript/extractor/tests/restprops/output/trap/invalid-rest-parameter-trailing-comma.js.trap b/javascript/extractor/tests/restprops/output/trap/invalid-rest-parameter-trailing-comma.js.trap new file mode 100644 index 000000000000..8c941ba8a93c --- /dev/null +++ b/javascript/extractor/tests/restprops/output/trap/invalid-rest-parameter-trailing-comma.js.trap @@ -0,0 +1,28 @@ +#10000=@"/invalid-rest-parameter-trailing-comma.js;sourcefile" +files(#10000,"/invalid-rest-parameter-trailing-comma.js") +#10001=@"/;folder" +folders(#10001,"/") +containerparent(#10001,#10000) +#10002=@"loc,{#10000},0,0,0,0" +locations_default(#10002,#10000,0,0,0,0) +hasLocation(#10000,#10002) +#20000=@"global_scope" +scopes(#20000,0) +#20001=@"script;{#10000},1,1" +toplevels(#20001,0) +#20002=@"loc,{#10000},1,1,1,1" +locations_default(#20002,#10000,1,1,1,1) +hasLocation(#20001,#20002) +#20003=* +js_parse_errors(#20003,#20001,"Error: Comma is not permitted after the rest element","(...[item],) => item") +#20004=@"loc,{#10000},1,11,1,11" +locations_default(#20004,#10000,1,11,1,11) +hasLocation(#20003,#20004) +#20005=* +lines(#20005,#20001,"(...[item],) => item","") +#20006=@"loc,{#10000},1,1,1,20" +locations_default(#20006,#10000,1,1,1,20) +hasLocation(#20005,#20006) +numlines(#20001,1,0,0) +numlines(#10000,1,0,0) +filetype(#10000,"javascript") diff --git a/javascript/extractor/tests/restprops/output/trap/invalid-rest-trailing-comma-assignment.js.trap b/javascript/extractor/tests/restprops/output/trap/invalid-rest-trailing-comma-assignment.js.trap new file mode 100644 index 000000000000..e919de2df1fe --- /dev/null +++ b/javascript/extractor/tests/restprops/output/trap/invalid-rest-trailing-comma-assignment.js.trap @@ -0,0 +1,28 @@ +#10000=@"/invalid-rest-trailing-comma-assignment.js;sourcefile" +files(#10000,"/invalid-rest-trailing-comma-assignment.js") +#10001=@"/;folder" +folders(#10001,"/") +containerparent(#10001,#10000) +#10002=@"loc,{#10000},0,0,0,0" +locations_default(#10002,#10000,0,0,0,0) +hasLocation(#10000,#10002) +#20000=@"global_scope" +scopes(#20000,0) +#20001=@"script;{#10000},1,1" +toplevels(#20001,0) +#20002=@"loc,{#10000},1,1,1,1" +locations_default(#20002,#10000,1,1,1,1) +hasLocation(#20001,#20002) +#20003=* +js_parse_errors(#20003,#20001,"Error: Comma is not permitted after the rest element","({...rest,} = obj);") +#20004=@"loc,{#10000},1,10,1,10" +locations_default(#20004,#10000,1,10,1,10) +hasLocation(#20003,#20004) +#20005=* +lines(#20005,#20001,"({...rest,} = obj);","") +#20006=@"loc,{#10000},1,1,1,19" +locations_default(#20006,#10000,1,1,1,19) +hasLocation(#20005,#20006) +numlines(#20001,1,0,0) +numlines(#10000,1,0,0) +filetype(#10000,"javascript") diff --git a/javascript/extractor/tests/restprops/output/trap/invalid-rest-trailing-comma-binding.js.trap b/javascript/extractor/tests/restprops/output/trap/invalid-rest-trailing-comma-binding.js.trap new file mode 100644 index 000000000000..57977b0276e5 --- /dev/null +++ b/javascript/extractor/tests/restprops/output/trap/invalid-rest-trailing-comma-binding.js.trap @@ -0,0 +1,28 @@ +#10000=@"/invalid-rest-trailing-comma-binding.js;sourcefile" +files(#10000,"/invalid-rest-trailing-comma-binding.js") +#10001=@"/;folder" +folders(#10001,"/") +containerparent(#10001,#10000) +#10002=@"loc,{#10000},0,0,0,0" +locations_default(#10002,#10000,0,0,0,0) +hasLocation(#10000,#10002) +#20000=@"global_scope" +scopes(#20000,0) +#20001=@"script;{#10000},1,1" +toplevels(#20001,0) +#20002=@"loc,{#10000},1,1,1,1" +locations_default(#20002,#10000,1,1,1,1) +hasLocation(#20001,#20002) +#20003=* +js_parse_errors(#20003,#20001,"Error: Comma is not permitted after the rest element","const {...rest,} = obj;") +#20004=@"loc,{#10000},1,15,1,15" +locations_default(#20004,#10000,1,15,1,15) +hasLocation(#20003,#20004) +#20005=* +lines(#20005,#20001,"const {...rest,} = obj;","") +#20006=@"loc,{#10000},1,1,1,23" +locations_default(#20006,#10000,1,1,1,23) +hasLocation(#20005,#20006) +numlines(#20001,1,0,0) +numlines(#10000,1,0,0) +filetype(#10000,"javascript") diff --git a/javascript/extractor/tests/restprops/output/trap/invalid-sibling-rest-errors.js.trap b/javascript/extractor/tests/restprops/output/trap/invalid-sibling-rest-errors.js.trap new file mode 100644 index 000000000000..f8b2c93bbcc4 --- /dev/null +++ b/javascript/extractor/tests/restprops/output/trap/invalid-sibling-rest-errors.js.trap @@ -0,0 +1,28 @@ +#10000=@"/invalid-sibling-rest-errors.js;sourcefile" +files(#10000,"/invalid-sibling-rest-errors.js") +#10001=@"/;folder" +folders(#10001,"/") +containerparent(#10001,#10000) +#10002=@"loc,{#10000},0,0,0,0" +locations_default(#10002,#10000,0,0,0,0) +hasLocation(#10000,#10002) +#20000=@"global_scope" +scopes(#20000,0) +#20001=@"script;{#10000},1,1" +toplevels(#20001,0) +#20002=@"loc,{#10000},1,1,1,1" +locations_default(#20002,#10000,1,1,1,1) +hasLocation(#20001,#20002) +#20003=* +js_parse_errors(#20003,#20001,"Error: Comma is not permitted after the rest element","([{...rest,}, {...obj,}.x] = items)") +#20004=@"loc,{#10000},1,11,1,11" +locations_default(#20004,#10000,1,11,1,11) +hasLocation(#20003,#20004) +#20005=* +lines(#20005,#20001,"([{...rest,}, {...obj,}.x] = items)","") +#20006=@"loc,{#10000},1,1,1,35" +locations_default(#20006,#10000,1,1,1,35) +hasLocation(#20005,#20006) +numlines(#20001,1,0,0) +numlines(#10000,1,0,0) +filetype(#10000,"javascript") diff --git a/javascript/extractor/tests/restprops/output/trap/rest-patterns.js.trap b/javascript/extractor/tests/restprops/output/trap/rest-patterns.js.trap new file mode 100644 index 000000000000..bff5d7883294 --- /dev/null +++ b/javascript/extractor/tests/restprops/output/trap/rest-patterns.js.trap @@ -0,0 +1,9207 @@ +#10000=@"/rest-patterns.js;sourcefile" +files(#10000,"/rest-patterns.js") +#10001=@"/;folder" +folders(#10001,"/") +containerparent(#10001,#10000) +#10002=@"loc,{#10000},0,0,0,0" +locations_default(#10002,#10000,0,0,0,0) +hasLocation(#10000,#10002) +#20000=@"global_scope" +scopes(#20000,0) +#20001=@"script;{#10000},1,1" +#20002=* +lines(#20002,#20001,"(...{length}) => length;"," +") +#20003=@"loc,{#10000},1,1,1,24" +locations_default(#20003,#10000,1,1,1,24) +hasLocation(#20002,#20003) +#20004=* +lines(#20004,#20001,"async (...{length}) => length;"," +") +#20005=@"loc,{#10000},2,1,2,30" +locations_default(#20005,#10000,2,1,2,30) +hasLocation(#20004,#20005) +#20006=* +lines(#20006,#20001,"function restObject1(...{length}) {}"," +") +#20007=@"loc,{#10000},3,1,3,36" +locations_default(#20007,#10000,3,1,3,36) +hasLocation(#20006,#20007) +#20008=* +lines(#20008,#20001,"async function restObject2(...{length}) {}"," +") +#20009=@"loc,{#10000},4,1,4,42" +locations_default(#20009,#10000,4,1,4,42) +hasLocation(#20008,#20009) +#20010=* +lines(#20010,#20001,"function* restObject3(...{length}) {}"," +") +#20011=@"loc,{#10000},5,1,5,37" +locations_default(#20011,#10000,5,1,5,37) +hasLocation(#20010,#20011) +#20012=* +lines(#20012,#20001,"async function* restObject4(...{length}) {}"," +") +#20013=@"loc,{#10000},6,1,6,43" +locations_default(#20013,#10000,6,1,6,43) +hasLocation(#20012,#20013) +#20014=* +lines(#20014,#20001,"({ method(...{length}) {} });"," +") +#20015=@"loc,{#10000},7,1,7,29" +locations_default(#20015,#10000,7,1,7,29) +hasLocation(#20014,#20015) +#20016=* +lines(#20016,#20001,"class RestObject { constructor(...{length}) {} }"," +") +#20017=@"loc,{#10000},8,1,8,48" +locations_default(#20017,#10000,8,1,8,48) +hasLocation(#20016,#20017) +#20018=* +lines(#20018,#20001,"(...{0: x = 1, ...rest}) => x;"," +") +#20019=@"loc,{#10000},9,1,9,30" +locations_default(#20019,#10000,9,1,9,30) +hasLocation(#20018,#20019) +#20020=* +lines(#20020,#20001,"async (...{0: x = 1, ...rest}) => x;"," +") +#20021=@"loc,{#10000},10,1,10,36" +locations_default(#20021,#10000,10,1,10,36) +hasLocation(#20020,#20021) +#20022=* +lines(#20022,#20001,""," +") +#20023=@"loc,{#10000},11,1,11,0" +locations_default(#20023,#10000,11,1,11,0) +hasLocation(#20022,#20023) +#20024=* +lines(#20024,#20001,"(...[first, ...{length}]) => length;"," +") +#20025=@"loc,{#10000},12,1,12,36" +locations_default(#20025,#10000,12,1,12,36) +hasLocation(#20024,#20025) +#20026=* +lines(#20026,#20001,"async (...[first, ...{length}]) => length;"," +") +#20027=@"loc,{#10000},13,1,13,42" +locations_default(#20027,#10000,13,1,13,42) +hasLocation(#20026,#20027) +#20028=* +lines(#20028,#20001,"([first, ...{length}]) => length;"," +") +#20029=@"loc,{#10000},14,1,14,33" +locations_default(#20029,#10000,14,1,14,33) +hasLocation(#20028,#20029) +#20030=* +lines(#20030,#20001,"{"," +") +#20031=@"loc,{#10000},15,1,15,1" +locations_default(#20031,#10000,15,1,15,1) +hasLocation(#20030,#20031) +#20032=* +lines(#20032,#20001," const [first, ...{length}] = items;"," +") +#20033=@"loc,{#10000},16,1,16,37" +locations_default(#20033,#10000,16,1,16,37) +hasLocation(#20032,#20033) +indentation(#10000,16," ",2) +#20034=* +lines(#20034,#20001,"}"," +") +#20035=@"loc,{#10000},17,1,17,1" +locations_default(#20035,#10000,17,1,17,1) +hasLocation(#20034,#20035) +#20036=* +lines(#20036,#20001,"([first, ...{length}] = items);"," +") +#20037=@"loc,{#10000},18,1,18,31" +locations_default(#20037,#10000,18,1,18,31) +hasLocation(#20036,#20037) +#20038=* +lines(#20038,#20001,"for (const [first, ...{length}] of items) {}"," +") +#20039=@"loc,{#10000},19,1,19,44" +locations_default(#20039,#10000,19,1,19,44) +hasLocation(#20038,#20039) +#20040=* +lines(#20040,#20001,"try {} catch ([first, ...{length}]) {}"," +") +#20041=@"loc,{#10000},20,1,20,38" +locations_default(#20041,#10000,20,1,20,38) +hasLocation(#20040,#20041) +#20042=* +lines(#20042,#20001,"([...{x: obj.x}] = items);"," +") +#20043=@"loc,{#10000},21,1,21,26" +locations_default(#20043,#10000,21,1,21,26) +hasLocation(#20042,#20043) +#20044=* +lines(#20044,#20001,""," +") +#20045=@"loc,{#10000},22,1,22,0" +locations_default(#20045,#10000,22,1,22,0) +hasLocation(#20044,#20045) +#20046=* +lines(#20046,#20001,"([...(obj.x)] = items);"," +") +#20047=@"loc,{#10000},23,1,23,23" +locations_default(#20047,#10000,23,1,23,23) +hasLocation(#20046,#20047) +#20048=* +lines(#20048,#20001,"([...(x)] = items);"," +") +#20049=@"loc,{#10000},24,1,24,19" +locations_default(#20049,#10000,24,1,24,19) +hasLocation(#20048,#20049) +#20050=* +lines(#20050,#20001,"([...obj.x] = items);"," +") +#20051=@"loc,{#10000},25,1,25,21" +locations_default(#20051,#10000,25,1,25,21) +hasLocation(#20050,#20051) +#20052=* +lines(#20052,#20001,"({...(obj.rest)} = obj);"," +") +#20053=@"loc,{#10000},26,1,26,24" +locations_default(#20053,#10000,26,1,26,24) +hasLocation(#20052,#20053) +#20054=* +lines(#20054,#20001,""," +") +#20055=@"loc,{#10000},27,1,27,0" +locations_default(#20055,#10000,27,1,27,0) +hasLocation(#20054,#20055) +#20056=* +lines(#20056,#20001,"{"," +") +#20057=@"loc,{#10000},28,1,28,1" +locations_default(#20057,#10000,28,1,28,1) +hasLocation(#20056,#20057) +#20058=* +lines(#20058,#20001," const {x, ...rest} = obj;"," +") +#20059=@"loc,{#10000},29,1,29,27" +locations_default(#20059,#10000,29,1,29,27) +hasLocation(#20058,#20059) +indentation(#10000,29," ",2) +#20060=* +lines(#20060,#20001,"}"," +") +#20061=@"loc,{#10000},30,1,30,1" +locations_default(#20061,#10000,30,1,30,1) +hasLocation(#20060,#20061) +#20062=* +lines(#20062,#20001,"({x, ...obj.rest} = obj);"," +") +#20063=@"loc,{#10000},31,1,31,25" +locations_default(#20063,#10000,31,1,31,25) +hasLocation(#20062,#20063) +#20064=* +lines(#20064,#20001,"({ ...obj, });"," +") +#20065=@"loc,{#10000},32,1,32,14" +locations_default(#20065,#10000,32,1,32,14) +hasLocation(#20064,#20065) +#20066=* +lines(#20066,#20001,"({ ...obj, x: 1 });"," +") +#20067=@"loc,{#10000},33,1,33,19" +locations_default(#20067,#10000,33,1,33,19) +hasLocation(#20066,#20067) +#20068=* +lines(#20068,#20001,"({ ...a, ...b });"," +") +#20069=@"loc,{#10000},34,1,34,17" +locations_default(#20069,#10000,34,1,34,17) +hasLocation(#20068,#20069) +#20070=* +lines(#20070,#20001,""," +") +#20071=@"loc,{#10000},35,1,35,0" +locations_default(#20071,#10000,35,1,35,0) +hasLocation(#20070,#20071) +#20072=* +lines(#20072,#20001,"{"," +") +#20073=@"loc,{#10000},36,1,36,1" +locations_default(#20073,#10000,36,1,36,1) +hasLocation(#20072,#20073) +#20074=* +lines(#20074,#20001," const {x = {...obj, y: 1}, ...rest} = input;"," +") +#20075=@"loc,{#10000},37,1,37,46" +locations_default(#20075,#10000,37,1,37,46) +hasLocation(#20074,#20075) +indentation(#10000,37," ",2) +#20076=* +lines(#20076,#20001,"}"," +") +#20077=@"loc,{#10000},38,1,38,1" +locations_default(#20077,#10000,38,1,38,1) +hasLocation(#20076,#20077) +#20078=* +lines(#20078,#20001,"({x = {...obj, y: 1}, ...rest}) => x;"," +") +#20079=@"loc,{#10000},39,1,39,37" +locations_default(#20079,#10000,39,1,39,37) +hasLocation(#20078,#20079) +#20080=* +lines(#20080,#20001,"async ({x = {...obj, y: 1}, ...rest}) => x;"," +") +#20081=@"loc,{#10000},40,1,40,43" +locations_default(#20081,#10000,40,1,40,43) +hasLocation(#20080,#20081) +#20082=* +lines(#20082,#20001,"([x = (value), ...rest] = []) => x;"," +") +#20083=@"loc,{#10000},41,1,41,35" +locations_default(#20083,#10000,41,1,41,35) +hasLocation(#20082,#20083) +#20084=* +lines(#20084,#20001,"async ({x = (value), ...rest} = {}) => x;"," +") +#20085=@"loc,{#10000},42,1,42,41" +locations_default(#20085,#10000,42,1,42,41) +hasLocation(#20084,#20085) +#20086=* +lines(#20086,#20001,"([{...obj, x: 1}.x] = items);"," +") +#20087=@"loc,{#10000},43,1,43,29" +locations_default(#20087,#10000,43,1,43,29) +hasLocation(#20086,#20087) +#20088=* +lines(#20088,#20001,"([...({...obj, x: 1}).x] = items);"," +") +#20089=@"loc,{#10000},44,1,44,34" +locations_default(#20089,#10000,44,1,44,34) +hasLocation(#20088,#20089) +#20090=* +lines(#20090,#20001,"({[{...obj, x: 1}.x]: value, ...rest} = input);"," +") +#20091=@"loc,{#10000},45,1,45,47" +locations_default(#20091,#10000,45,1,45,47) +hasLocation(#20090,#20091) +#20092=* +lines(#20092,#20001,"consume({...obj, x: 1});"," +") +#20093=@"loc,{#10000},46,1,46,24" +locations_default(#20093,#10000,46,1,46,24) +hasLocation(#20092,#20093) +#20094=* +lines(#20094,#20001,""," +") +#20095=@"loc,{#10000},47,1,47,0" +locations_default(#20095,#10000,47,1,47,0) +hasLocation(#20094,#20095) +#20096=* +lines(#20096,#20001,"[...xs, x = 1];"," +") +#20097=@"loc,{#10000},48,1,48,15" +locations_default(#20097,#10000,48,1,48,15) +hasLocation(#20096,#20097) +#20098=* +lines(#20098,#20001,"consume(...xs, x = 1);"," +") +#20099=@"loc,{#10000},49,1,49,22" +locations_default(#20099,#10000,49,1,49,22) +hasLocation(#20098,#20099) +#20100=* +lines(#20100,#20001,"async (...xs, x = 1);"," +") +#20101=@"loc,{#10000},50,1,50,21" +locations_default(#20101,#10000,50,1,50,21) +hasLocation(#20100,#20101) +#20102=* +lines(#20102,#20001,"({...rest, x: value = 1});"," +") +#20103=@"loc,{#10000},51,1,51,26" +locations_default(#20103,#10000,51,1,51,26) +hasLocation(#20102,#20103) +#20104=* +lines(#20104,#20001,"({x = 1, y: value = 0} = input);"," +") +#20105=@"loc,{#10000},52,1,52,32" +locations_default(#20105,#10000,52,1,52,32) +hasLocation(#20104,#20105) +#20106=* +lines(#20106,#20001,"({x = 1, y: value = 0}) => x;"," +") +#20107=@"loc,{#10000},53,1,53,29" +locations_default(#20107,#10000,53,1,53,29) +hasLocation(#20106,#20107) +#20108=* +lines(#20108,#20001,"([{...rest,}.x, value = 1] = items);"," +") +#20109=@"loc,{#10000},54,1,54,36" +locations_default(#20109,#10000,54,1,54,36) +hasLocation(#20108,#20109) +#20110=* +lines(#20110,#20001,""," +") +#20111=@"loc,{#10000},55,1,55,0" +locations_default(#20111,#10000,55,1,55,0) +hasLocation(#20110,#20111) +#20112=* +lines(#20112,#20001,"1 + {...obj,};"," +") +#20113=@"loc,{#10000},56,1,56,14" +locations_default(#20113,#10000,56,1,56,14) +hasLocation(#20112,#20113) +#20114=* +lines(#20114,#20001,"!{...obj,};"," +") +#20115=@"loc,{#10000},57,1,57,11" +locations_default(#20115,#10000,57,1,57,11) +hasLocation(#20114,#20115) +#20116=* +lines(#20116,#20001,"({...obj,} ? x : y);"," +") +#20117=@"loc,{#10000},58,1,58,20" +locations_default(#20117,#10000,58,1,58,20) +hasLocation(#20116,#20117) +#20118=* +lines(#20118,#20001,"({...obj,}, x = 1);"," +") +#20119=@"loc,{#10000},59,1,59,19" +locations_default(#20119,#10000,59,1,59,19) +hasLocation(#20118,#20119) +#20120=* +lines(#20120,#20001,"for ({...rest,}.x of items) {}"," +") +#20121=@"loc,{#10000},60,1,60,30" +locations_default(#20121,#10000,60,1,60,30) +hasLocation(#20120,#20121) +#20122=* +lines(#20122,#20001,""," +") +#20123=@"loc,{#10000},61,1,61,0" +locations_default(#20123,#10000,61,1,61,0) +hasLocation(#20122,#20123) +#20124=* +lines(#20124,#20001,"(x) = y;"," +") +#20125=@"loc,{#10000},62,1,62,8" +locations_default(#20125,#10000,62,1,62,8) +hasLocation(#20124,#20125) +#20126=* +lines(#20126,#20001,"++(x);"," +") +#20127=@"loc,{#10000},63,1,63,6" +locations_default(#20127,#10000,63,1,63,6) +hasLocation(#20126,#20127) +#20128=* +lines(#20128,#20001,"(obj.x)++;"," +") +#20129=@"loc,{#10000},64,1,64,10" +locations_default(#20129,#10000,64,1,64,10) +hasLocation(#20128,#20129) +#20130=* +lines(#20130,#20001,""," +") +#20131=@"loc,{#10000},65,1,65,0" +locations_default(#20131,#10000,65,1,65,0) +hasLocation(#20130,#20131) +#20132=* +lines(#20132,#20001,"{"," +") +#20133=@"loc,{#10000},66,1,66,1" +locations_default(#20133,#10000,66,1,66,1) +hasLocation(#20132,#20133) +#20134=* +lines(#20134,#20001," const values = [1, 2, 3];"," +") +#20135=@"loc,{#10000},67,1,67,27" +locations_default(#20135,#10000,67,1,67,27) +hasLocation(#20134,#20135) +indentation(#10000,67," ",2) +#20136=* +lines(#20136,#20001," function collect(value, index, suffix) {"," +") +#20137=@"loc,{#10000},68,1,68,42" +locations_default(#20137,#10000,68,1,68,42) +hasLocation(#20136,#20137) +indentation(#10000,68," ",2) +#20138=* +lines(#20138,#20001," return { value, index, suffix };"," +") +#20139=@"loc,{#10000},69,1,69,36" +locations_default(#20139,#10000,69,1,69,36) +hasLocation(#20138,#20139) +indentation(#10000,69," ",4) +#20140=* +lines(#20140,#20001," }"," +") +#20141=@"loc,{#10000},70,1,70,3" +locations_default(#20141,#10000,70,1,70,3) +hasLocation(#20140,#20141) +indentation(#10000,70," ",2) +#20142=* +lines(#20142,#20001," values.map(value => [value, (...[index, ...suffix]) => collect(value, index, suffix)]);"," +") +#20143=@"loc,{#10000},71,1,71,89" +locations_default(#20143,#10000,71,1,71,89) +hasLocation(#20142,#20143) +indentation(#10000,71," ",2) +#20144=* +lines(#20144,#20001,"}"," +") +#20145=@"loc,{#10000},72,1,72,1" +locations_default(#20145,#10000,72,1,72,1) +hasLocation(#20144,#20145) +#20146=* +lines(#20146,#20001,"(...[index, ...suffix]) => index;"," +") +#20147=@"loc,{#10000},73,1,73,33" +locations_default(#20147,#10000,73,1,73,33) +hasLocation(#20146,#20147) +#20148=* +lines(#20148,#20001,"async (...[index, ...suffix]) => index;"," +") +#20149=@"loc,{#10000},74,1,74,39" +locations_default(#20149,#10000,74,1,74,39) +hasLocation(#20148,#20149) +#20150=* +lines(#20150,#20001,"function restArray(...[index, ...suffix]) {}"," +") +#20151=@"loc,{#10000},75,1,75,44" +locations_default(#20151,#10000,75,1,75,44) +hasLocation(#20150,#20151) +#20152=* +lines(#20152,#20001,"([index, ...[suffix]]) => suffix;"," +") +#20153=@"loc,{#10000},76,1,76,33" +locations_default(#20153,#10000,76,1,76,33) +hasLocation(#20152,#20153) +#20154=* +lines(#20154,#20001,"(...{length, ...rest}) => length;"," +") +#20155=@"loc,{#10000},77,1,77,33" +locations_default(#20155,#10000,77,1,77,33) +hasLocation(#20154,#20155) +#20156=* +lines(#20156,#20001,"async (...{length, ...rest}) => length;","") +#20157=@"loc,{#10000},78,1,78,39" +locations_default(#20157,#10000,78,1,78,39) +hasLocation(#20156,#20157) +numlines(#20001,78,70,0) +#20158=* +tokeninfo(#20158,8,#20001,0,"(") +#20159=@"loc,{#10000},1,1,1,1" +locations_default(#20159,#10000,1,1,1,1) +hasLocation(#20158,#20159) +#20160=* +tokeninfo(#20160,8,#20001,1,"...") +#20161=@"loc,{#10000},1,2,1,4" +locations_default(#20161,#10000,1,2,1,4) +hasLocation(#20160,#20161) +#20162=* +tokeninfo(#20162,8,#20001,2,"{") +#20163=@"loc,{#10000},1,5,1,5" +locations_default(#20163,#10000,1,5,1,5) +hasLocation(#20162,#20163) +#20164=* +tokeninfo(#20164,6,#20001,3,"length") +#20165=@"loc,{#10000},1,6,1,11" +locations_default(#20165,#10000,1,6,1,11) +hasLocation(#20164,#20165) +#20166=* +tokeninfo(#20166,8,#20001,4,"}") +#20167=@"loc,{#10000},1,12,1,12" +locations_default(#20167,#10000,1,12,1,12) +hasLocation(#20166,#20167) +#20168=* +tokeninfo(#20168,8,#20001,5,")") +#20169=@"loc,{#10000},1,13,1,13" +locations_default(#20169,#10000,1,13,1,13) +hasLocation(#20168,#20169) +#20170=* +tokeninfo(#20170,8,#20001,6,"=>") +#20171=@"loc,{#10000},1,15,1,16" +locations_default(#20171,#10000,1,15,1,16) +hasLocation(#20170,#20171) +#20172=* +tokeninfo(#20172,6,#20001,7,"length") +#20173=@"loc,{#10000},1,18,1,23" +locations_default(#20173,#10000,1,18,1,23) +hasLocation(#20172,#20173) +#20174=* +tokeninfo(#20174,8,#20001,8,";") +#20175=@"loc,{#10000},1,24,1,24" +locations_default(#20175,#10000,1,24,1,24) +hasLocation(#20174,#20175) +#20176=* +tokeninfo(#20176,6,#20001,9,"async") +#20177=@"loc,{#10000},2,1,2,5" +locations_default(#20177,#10000,2,1,2,5) +hasLocation(#20176,#20177) +#20178=* +tokeninfo(#20178,8,#20001,10,"(") +#20179=@"loc,{#10000},2,7,2,7" +locations_default(#20179,#10000,2,7,2,7) +hasLocation(#20178,#20179) +#20180=* +tokeninfo(#20180,8,#20001,11,"...") +#20181=@"loc,{#10000},2,8,2,10" +locations_default(#20181,#10000,2,8,2,10) +hasLocation(#20180,#20181) +#20182=* +tokeninfo(#20182,8,#20001,12,"{") +#20183=@"loc,{#10000},2,11,2,11" +locations_default(#20183,#10000,2,11,2,11) +hasLocation(#20182,#20183) +#20184=* +tokeninfo(#20184,6,#20001,13,"length") +#20185=@"loc,{#10000},2,12,2,17" +locations_default(#20185,#10000,2,12,2,17) +hasLocation(#20184,#20185) +#20186=* +tokeninfo(#20186,8,#20001,14,"}") +#20187=@"loc,{#10000},2,18,2,18" +locations_default(#20187,#10000,2,18,2,18) +hasLocation(#20186,#20187) +#20188=* +tokeninfo(#20188,8,#20001,15,")") +#20189=@"loc,{#10000},2,19,2,19" +locations_default(#20189,#10000,2,19,2,19) +hasLocation(#20188,#20189) +#20190=* +tokeninfo(#20190,8,#20001,16,"=>") +#20191=@"loc,{#10000},2,21,2,22" +locations_default(#20191,#10000,2,21,2,22) +hasLocation(#20190,#20191) +#20192=* +tokeninfo(#20192,6,#20001,17,"length") +#20193=@"loc,{#10000},2,24,2,29" +locations_default(#20193,#10000,2,24,2,29) +hasLocation(#20192,#20193) +#20194=* +tokeninfo(#20194,8,#20001,18,";") +#20195=@"loc,{#10000},2,30,2,30" +locations_default(#20195,#10000,2,30,2,30) +hasLocation(#20194,#20195) +#20196=* +tokeninfo(#20196,7,#20001,19,"function") +#20197=@"loc,{#10000},3,1,3,8" +locations_default(#20197,#10000,3,1,3,8) +hasLocation(#20196,#20197) +#20198=* +tokeninfo(#20198,6,#20001,20,"restObject1") +#20199=@"loc,{#10000},3,10,3,20" +locations_default(#20199,#10000,3,10,3,20) +hasLocation(#20198,#20199) +#20200=* +tokeninfo(#20200,8,#20001,21,"(") +#20201=@"loc,{#10000},3,21,3,21" +locations_default(#20201,#10000,3,21,3,21) +hasLocation(#20200,#20201) +#20202=* +tokeninfo(#20202,8,#20001,22,"...") +#20203=@"loc,{#10000},3,22,3,24" +locations_default(#20203,#10000,3,22,3,24) +hasLocation(#20202,#20203) +#20204=* +tokeninfo(#20204,8,#20001,23,"{") +#20205=@"loc,{#10000},3,25,3,25" +locations_default(#20205,#10000,3,25,3,25) +hasLocation(#20204,#20205) +#20206=* +tokeninfo(#20206,6,#20001,24,"length") +#20207=@"loc,{#10000},3,26,3,31" +locations_default(#20207,#10000,3,26,3,31) +hasLocation(#20206,#20207) +#20208=* +tokeninfo(#20208,8,#20001,25,"}") +#20209=@"loc,{#10000},3,32,3,32" +locations_default(#20209,#10000,3,32,3,32) +hasLocation(#20208,#20209) +#20210=* +tokeninfo(#20210,8,#20001,26,")") +#20211=@"loc,{#10000},3,33,3,33" +locations_default(#20211,#10000,3,33,3,33) +hasLocation(#20210,#20211) +#20212=* +tokeninfo(#20212,8,#20001,27,"{") +#20213=@"loc,{#10000},3,35,3,35" +locations_default(#20213,#10000,3,35,3,35) +hasLocation(#20212,#20213) +#20214=* +tokeninfo(#20214,8,#20001,28,"}") +#20215=@"loc,{#10000},3,36,3,36" +locations_default(#20215,#10000,3,36,3,36) +hasLocation(#20214,#20215) +#20216=* +tokeninfo(#20216,6,#20001,29,"async") +#20217=@"loc,{#10000},4,1,4,5" +locations_default(#20217,#10000,4,1,4,5) +hasLocation(#20216,#20217) +#20218=* +tokeninfo(#20218,7,#20001,30,"function") +#20219=@"loc,{#10000},4,7,4,14" +locations_default(#20219,#10000,4,7,4,14) +hasLocation(#20218,#20219) +#20220=* +tokeninfo(#20220,6,#20001,31,"restObject2") +#20221=@"loc,{#10000},4,16,4,26" +locations_default(#20221,#10000,4,16,4,26) +hasLocation(#20220,#20221) +#20222=* +tokeninfo(#20222,8,#20001,32,"(") +#20223=@"loc,{#10000},4,27,4,27" +locations_default(#20223,#10000,4,27,4,27) +hasLocation(#20222,#20223) +#20224=* +tokeninfo(#20224,8,#20001,33,"...") +#20225=@"loc,{#10000},4,28,4,30" +locations_default(#20225,#10000,4,28,4,30) +hasLocation(#20224,#20225) +#20226=* +tokeninfo(#20226,8,#20001,34,"{") +#20227=@"loc,{#10000},4,31,4,31" +locations_default(#20227,#10000,4,31,4,31) +hasLocation(#20226,#20227) +#20228=* +tokeninfo(#20228,6,#20001,35,"length") +#20229=@"loc,{#10000},4,32,4,37" +locations_default(#20229,#10000,4,32,4,37) +hasLocation(#20228,#20229) +#20230=* +tokeninfo(#20230,8,#20001,36,"}") +#20231=@"loc,{#10000},4,38,4,38" +locations_default(#20231,#10000,4,38,4,38) +hasLocation(#20230,#20231) +#20232=* +tokeninfo(#20232,8,#20001,37,")") +#20233=@"loc,{#10000},4,39,4,39" +locations_default(#20233,#10000,4,39,4,39) +hasLocation(#20232,#20233) +#20234=* +tokeninfo(#20234,8,#20001,38,"{") +#20235=@"loc,{#10000},4,41,4,41" +locations_default(#20235,#10000,4,41,4,41) +hasLocation(#20234,#20235) +#20236=* +tokeninfo(#20236,8,#20001,39,"}") +#20237=@"loc,{#10000},4,42,4,42" +locations_default(#20237,#10000,4,42,4,42) +hasLocation(#20236,#20237) +#20238=* +tokeninfo(#20238,7,#20001,40,"function") +#20239=@"loc,{#10000},5,1,5,8" +locations_default(#20239,#10000,5,1,5,8) +hasLocation(#20238,#20239) +#20240=* +tokeninfo(#20240,8,#20001,41,"*") +#20241=@"loc,{#10000},5,9,5,9" +locations_default(#20241,#10000,5,9,5,9) +hasLocation(#20240,#20241) +#20242=* +tokeninfo(#20242,6,#20001,42,"restObject3") +#20243=@"loc,{#10000},5,11,5,21" +locations_default(#20243,#10000,5,11,5,21) +hasLocation(#20242,#20243) +#20244=* +tokeninfo(#20244,8,#20001,43,"(") +#20245=@"loc,{#10000},5,22,5,22" +locations_default(#20245,#10000,5,22,5,22) +hasLocation(#20244,#20245) +#20246=* +tokeninfo(#20246,8,#20001,44,"...") +#20247=@"loc,{#10000},5,23,5,25" +locations_default(#20247,#10000,5,23,5,25) +hasLocation(#20246,#20247) +#20248=* +tokeninfo(#20248,8,#20001,45,"{") +#20249=@"loc,{#10000},5,26,5,26" +locations_default(#20249,#10000,5,26,5,26) +hasLocation(#20248,#20249) +#20250=* +tokeninfo(#20250,6,#20001,46,"length") +#20251=@"loc,{#10000},5,27,5,32" +locations_default(#20251,#10000,5,27,5,32) +hasLocation(#20250,#20251) +#20252=* +tokeninfo(#20252,8,#20001,47,"}") +#20253=@"loc,{#10000},5,33,5,33" +locations_default(#20253,#10000,5,33,5,33) +hasLocation(#20252,#20253) +#20254=* +tokeninfo(#20254,8,#20001,48,")") +#20255=@"loc,{#10000},5,34,5,34" +locations_default(#20255,#10000,5,34,5,34) +hasLocation(#20254,#20255) +#20256=* +tokeninfo(#20256,8,#20001,49,"{") +#20257=@"loc,{#10000},5,36,5,36" +locations_default(#20257,#10000,5,36,5,36) +hasLocation(#20256,#20257) +#20258=* +tokeninfo(#20258,8,#20001,50,"}") +#20259=@"loc,{#10000},5,37,5,37" +locations_default(#20259,#10000,5,37,5,37) +hasLocation(#20258,#20259) +#20260=* +tokeninfo(#20260,6,#20001,51,"async") +#20261=@"loc,{#10000},6,1,6,5" +locations_default(#20261,#10000,6,1,6,5) +hasLocation(#20260,#20261) +#20262=* +tokeninfo(#20262,7,#20001,52,"function") +#20263=@"loc,{#10000},6,7,6,14" +locations_default(#20263,#10000,6,7,6,14) +hasLocation(#20262,#20263) +#20264=* +tokeninfo(#20264,8,#20001,53,"*") +#20265=@"loc,{#10000},6,15,6,15" +locations_default(#20265,#10000,6,15,6,15) +hasLocation(#20264,#20265) +#20266=* +tokeninfo(#20266,6,#20001,54,"restObject4") +#20267=@"loc,{#10000},6,17,6,27" +locations_default(#20267,#10000,6,17,6,27) +hasLocation(#20266,#20267) +#20268=* +tokeninfo(#20268,8,#20001,55,"(") +#20269=@"loc,{#10000},6,28,6,28" +locations_default(#20269,#10000,6,28,6,28) +hasLocation(#20268,#20269) +#20270=* +tokeninfo(#20270,8,#20001,56,"...") +#20271=@"loc,{#10000},6,29,6,31" +locations_default(#20271,#10000,6,29,6,31) +hasLocation(#20270,#20271) +#20272=* +tokeninfo(#20272,8,#20001,57,"{") +#20273=@"loc,{#10000},6,32,6,32" +locations_default(#20273,#10000,6,32,6,32) +hasLocation(#20272,#20273) +#20274=* +tokeninfo(#20274,6,#20001,58,"length") +#20275=@"loc,{#10000},6,33,6,38" +locations_default(#20275,#10000,6,33,6,38) +hasLocation(#20274,#20275) +#20276=* +tokeninfo(#20276,8,#20001,59,"}") +#20277=@"loc,{#10000},6,39,6,39" +locations_default(#20277,#10000,6,39,6,39) +hasLocation(#20276,#20277) +#20278=* +tokeninfo(#20278,8,#20001,60,")") +#20279=@"loc,{#10000},6,40,6,40" +locations_default(#20279,#10000,6,40,6,40) +hasLocation(#20278,#20279) +#20280=* +tokeninfo(#20280,8,#20001,61,"{") +#20281=@"loc,{#10000},6,42,6,42" +locations_default(#20281,#10000,6,42,6,42) +hasLocation(#20280,#20281) +#20282=* +tokeninfo(#20282,8,#20001,62,"}") +#20283=@"loc,{#10000},6,43,6,43" +locations_default(#20283,#10000,6,43,6,43) +hasLocation(#20282,#20283) +#20284=* +tokeninfo(#20284,8,#20001,63,"(") +#20285=@"loc,{#10000},7,1,7,1" +locations_default(#20285,#10000,7,1,7,1) +hasLocation(#20284,#20285) +#20286=* +tokeninfo(#20286,8,#20001,64,"{") +#20287=@"loc,{#10000},7,2,7,2" +locations_default(#20287,#10000,7,2,7,2) +hasLocation(#20286,#20287) +#20288=* +tokeninfo(#20288,6,#20001,65,"method") +#20289=@"loc,{#10000},7,4,7,9" +locations_default(#20289,#10000,7,4,7,9) +hasLocation(#20288,#20289) +#20290=* +tokeninfo(#20290,8,#20001,66,"(") +#20291=@"loc,{#10000},7,10,7,10" +locations_default(#20291,#10000,7,10,7,10) +hasLocation(#20290,#20291) +#20292=* +tokeninfo(#20292,8,#20001,67,"...") +#20293=@"loc,{#10000},7,11,7,13" +locations_default(#20293,#10000,7,11,7,13) +hasLocation(#20292,#20293) +#20294=* +tokeninfo(#20294,8,#20001,68,"{") +#20295=@"loc,{#10000},7,14,7,14" +locations_default(#20295,#10000,7,14,7,14) +hasLocation(#20294,#20295) +#20296=* +tokeninfo(#20296,6,#20001,69,"length") +#20297=@"loc,{#10000},7,15,7,20" +locations_default(#20297,#10000,7,15,7,20) +hasLocation(#20296,#20297) +#20298=* +tokeninfo(#20298,8,#20001,70,"}") +#20299=@"loc,{#10000},7,21,7,21" +locations_default(#20299,#10000,7,21,7,21) +hasLocation(#20298,#20299) +#20300=* +tokeninfo(#20300,8,#20001,71,")") +#20301=@"loc,{#10000},7,22,7,22" +locations_default(#20301,#10000,7,22,7,22) +hasLocation(#20300,#20301) +#20302=* +tokeninfo(#20302,8,#20001,72,"{") +#20303=@"loc,{#10000},7,24,7,24" +locations_default(#20303,#10000,7,24,7,24) +hasLocation(#20302,#20303) +#20304=* +tokeninfo(#20304,8,#20001,73,"}") +#20305=@"loc,{#10000},7,25,7,25" +locations_default(#20305,#10000,7,25,7,25) +hasLocation(#20304,#20305) +#20306=* +tokeninfo(#20306,8,#20001,74,"}") +#20307=@"loc,{#10000},7,27,7,27" +locations_default(#20307,#10000,7,27,7,27) +hasLocation(#20306,#20307) +#20308=* +tokeninfo(#20308,8,#20001,75,")") +#20309=@"loc,{#10000},7,28,7,28" +locations_default(#20309,#10000,7,28,7,28) +hasLocation(#20308,#20309) +#20310=* +tokeninfo(#20310,8,#20001,76,";") +#20311=@"loc,{#10000},7,29,7,29" +locations_default(#20311,#10000,7,29,7,29) +hasLocation(#20310,#20311) +#20312=* +tokeninfo(#20312,7,#20001,77,"class") +#20313=@"loc,{#10000},8,1,8,5" +locations_default(#20313,#10000,8,1,8,5) +hasLocation(#20312,#20313) +#20314=* +tokeninfo(#20314,6,#20001,78,"RestObject") +#20315=@"loc,{#10000},8,7,8,16" +locations_default(#20315,#10000,8,7,8,16) +hasLocation(#20314,#20315) +#20316=* +tokeninfo(#20316,8,#20001,79,"{") +#20317=@"loc,{#10000},8,18,8,18" +locations_default(#20317,#10000,8,18,8,18) +hasLocation(#20316,#20317) +#20318=* +tokeninfo(#20318,6,#20001,80,"constructor") +#20319=@"loc,{#10000},8,20,8,30" +locations_default(#20319,#10000,8,20,8,30) +hasLocation(#20318,#20319) +#20320=* +tokeninfo(#20320,8,#20001,81,"(") +#20321=@"loc,{#10000},8,31,8,31" +locations_default(#20321,#10000,8,31,8,31) +hasLocation(#20320,#20321) +#20322=* +tokeninfo(#20322,8,#20001,82,"...") +#20323=@"loc,{#10000},8,32,8,34" +locations_default(#20323,#10000,8,32,8,34) +hasLocation(#20322,#20323) +#20324=* +tokeninfo(#20324,8,#20001,83,"{") +#20325=@"loc,{#10000},8,35,8,35" +locations_default(#20325,#10000,8,35,8,35) +hasLocation(#20324,#20325) +#20326=* +tokeninfo(#20326,6,#20001,84,"length") +#20327=@"loc,{#10000},8,36,8,41" +locations_default(#20327,#10000,8,36,8,41) +hasLocation(#20326,#20327) +#20328=* +tokeninfo(#20328,8,#20001,85,"}") +#20329=@"loc,{#10000},8,42,8,42" +locations_default(#20329,#10000,8,42,8,42) +hasLocation(#20328,#20329) +#20330=* +tokeninfo(#20330,8,#20001,86,")") +#20331=@"loc,{#10000},8,43,8,43" +locations_default(#20331,#10000,8,43,8,43) +hasLocation(#20330,#20331) +#20332=* +tokeninfo(#20332,8,#20001,87,"{") +#20333=@"loc,{#10000},8,45,8,45" +locations_default(#20333,#10000,8,45,8,45) +hasLocation(#20332,#20333) +#20334=* +tokeninfo(#20334,8,#20001,88,"}") +#20335=@"loc,{#10000},8,46,8,46" +locations_default(#20335,#10000,8,46,8,46) +hasLocation(#20334,#20335) +#20336=* +tokeninfo(#20336,8,#20001,89,"}") +#20337=@"loc,{#10000},8,48,8,48" +locations_default(#20337,#10000,8,48,8,48) +hasLocation(#20336,#20337) +#20338=* +tokeninfo(#20338,8,#20001,90,"(") +#20339=@"loc,{#10000},9,1,9,1" +locations_default(#20339,#10000,9,1,9,1) +hasLocation(#20338,#20339) +#20340=* +tokeninfo(#20340,8,#20001,91,"...") +#20341=@"loc,{#10000},9,2,9,4" +locations_default(#20341,#10000,9,2,9,4) +hasLocation(#20340,#20341) +#20342=* +tokeninfo(#20342,8,#20001,92,"{") +#20343=@"loc,{#10000},9,5,9,5" +locations_default(#20343,#10000,9,5,9,5) +hasLocation(#20342,#20343) +#20344=* +tokeninfo(#20344,3,#20001,93,"0") +#20345=@"loc,{#10000},9,6,9,6" +locations_default(#20345,#10000,9,6,9,6) +hasLocation(#20344,#20345) +#20346=* +tokeninfo(#20346,8,#20001,94,":") +#20347=@"loc,{#10000},9,7,9,7" +locations_default(#20347,#10000,9,7,9,7) +hasLocation(#20346,#20347) +#20348=* +tokeninfo(#20348,6,#20001,95,"x") +#20349=@"loc,{#10000},9,9,9,9" +locations_default(#20349,#10000,9,9,9,9) +hasLocation(#20348,#20349) +#20350=* +tokeninfo(#20350,8,#20001,96,"=") +#20351=@"loc,{#10000},9,11,9,11" +locations_default(#20351,#10000,9,11,9,11) +hasLocation(#20350,#20351) +#20352=* +tokeninfo(#20352,3,#20001,97,"1") +#20353=@"loc,{#10000},9,13,9,13" +locations_default(#20353,#10000,9,13,9,13) +hasLocation(#20352,#20353) +#20354=* +tokeninfo(#20354,8,#20001,98,",") +#20355=@"loc,{#10000},9,14,9,14" +locations_default(#20355,#10000,9,14,9,14) +hasLocation(#20354,#20355) +#20356=* +tokeninfo(#20356,8,#20001,99,"...") +#20357=@"loc,{#10000},9,16,9,18" +locations_default(#20357,#10000,9,16,9,18) +hasLocation(#20356,#20357) +#20358=* +tokeninfo(#20358,6,#20001,100,"rest") +#20359=@"loc,{#10000},9,19,9,22" +locations_default(#20359,#10000,9,19,9,22) +hasLocation(#20358,#20359) +#20360=* +tokeninfo(#20360,8,#20001,101,"}") +#20361=@"loc,{#10000},9,23,9,23" +locations_default(#20361,#10000,9,23,9,23) +hasLocation(#20360,#20361) +#20362=* +tokeninfo(#20362,8,#20001,102,")") +#20363=@"loc,{#10000},9,24,9,24" +locations_default(#20363,#10000,9,24,9,24) +hasLocation(#20362,#20363) +#20364=* +tokeninfo(#20364,8,#20001,103,"=>") +#20365=@"loc,{#10000},9,26,9,27" +locations_default(#20365,#10000,9,26,9,27) +hasLocation(#20364,#20365) +#20366=* +tokeninfo(#20366,6,#20001,104,"x") +#20367=@"loc,{#10000},9,29,9,29" +locations_default(#20367,#10000,9,29,9,29) +hasLocation(#20366,#20367) +#20368=* +tokeninfo(#20368,8,#20001,105,";") +#20369=@"loc,{#10000},9,30,9,30" +locations_default(#20369,#10000,9,30,9,30) +hasLocation(#20368,#20369) +#20370=* +tokeninfo(#20370,6,#20001,106,"async") +#20371=@"loc,{#10000},10,1,10,5" +locations_default(#20371,#10000,10,1,10,5) +hasLocation(#20370,#20371) +#20372=* +tokeninfo(#20372,8,#20001,107,"(") +#20373=@"loc,{#10000},10,7,10,7" +locations_default(#20373,#10000,10,7,10,7) +hasLocation(#20372,#20373) +#20374=* +tokeninfo(#20374,8,#20001,108,"...") +#20375=@"loc,{#10000},10,8,10,10" +locations_default(#20375,#10000,10,8,10,10) +hasLocation(#20374,#20375) +#20376=* +tokeninfo(#20376,8,#20001,109,"{") +#20377=@"loc,{#10000},10,11,10,11" +locations_default(#20377,#10000,10,11,10,11) +hasLocation(#20376,#20377) +#20378=* +tokeninfo(#20378,3,#20001,110,"0") +#20379=@"loc,{#10000},10,12,10,12" +locations_default(#20379,#10000,10,12,10,12) +hasLocation(#20378,#20379) +#20380=* +tokeninfo(#20380,8,#20001,111,":") +#20381=@"loc,{#10000},10,13,10,13" +locations_default(#20381,#10000,10,13,10,13) +hasLocation(#20380,#20381) +#20382=* +tokeninfo(#20382,6,#20001,112,"x") +#20383=@"loc,{#10000},10,15,10,15" +locations_default(#20383,#10000,10,15,10,15) +hasLocation(#20382,#20383) +#20384=* +tokeninfo(#20384,8,#20001,113,"=") +#20385=@"loc,{#10000},10,17,10,17" +locations_default(#20385,#10000,10,17,10,17) +hasLocation(#20384,#20385) +#20386=* +tokeninfo(#20386,3,#20001,114,"1") +#20387=@"loc,{#10000},10,19,10,19" +locations_default(#20387,#10000,10,19,10,19) +hasLocation(#20386,#20387) +#20388=* +tokeninfo(#20388,8,#20001,115,",") +#20389=@"loc,{#10000},10,20,10,20" +locations_default(#20389,#10000,10,20,10,20) +hasLocation(#20388,#20389) +#20390=* +tokeninfo(#20390,8,#20001,116,"...") +#20391=@"loc,{#10000},10,22,10,24" +locations_default(#20391,#10000,10,22,10,24) +hasLocation(#20390,#20391) +#20392=* +tokeninfo(#20392,6,#20001,117,"rest") +#20393=@"loc,{#10000},10,25,10,28" +locations_default(#20393,#10000,10,25,10,28) +hasLocation(#20392,#20393) +#20394=* +tokeninfo(#20394,8,#20001,118,"}") +#20395=@"loc,{#10000},10,29,10,29" +locations_default(#20395,#10000,10,29,10,29) +hasLocation(#20394,#20395) +#20396=* +tokeninfo(#20396,8,#20001,119,")") +#20397=@"loc,{#10000},10,30,10,30" +locations_default(#20397,#10000,10,30,10,30) +hasLocation(#20396,#20397) +#20398=* +tokeninfo(#20398,8,#20001,120,"=>") +#20399=@"loc,{#10000},10,32,10,33" +locations_default(#20399,#10000,10,32,10,33) +hasLocation(#20398,#20399) +#20400=* +tokeninfo(#20400,6,#20001,121,"x") +#20401=@"loc,{#10000},10,35,10,35" +locations_default(#20401,#10000,10,35,10,35) +hasLocation(#20400,#20401) +#20402=* +tokeninfo(#20402,8,#20001,122,";") +#20403=@"loc,{#10000},10,36,10,36" +locations_default(#20403,#10000,10,36,10,36) +hasLocation(#20402,#20403) +#20404=* +tokeninfo(#20404,8,#20001,123,"(") +#20405=@"loc,{#10000},12,1,12,1" +locations_default(#20405,#10000,12,1,12,1) +hasLocation(#20404,#20405) +#20406=* +tokeninfo(#20406,8,#20001,124,"...") +#20407=@"loc,{#10000},12,2,12,4" +locations_default(#20407,#10000,12,2,12,4) +hasLocation(#20406,#20407) +#20408=* +tokeninfo(#20408,8,#20001,125,"[") +#20409=@"loc,{#10000},12,5,12,5" +locations_default(#20409,#10000,12,5,12,5) +hasLocation(#20408,#20409) +#20410=* +tokeninfo(#20410,6,#20001,126,"first") +#20411=@"loc,{#10000},12,6,12,10" +locations_default(#20411,#10000,12,6,12,10) +hasLocation(#20410,#20411) +#20412=* +tokeninfo(#20412,8,#20001,127,",") +#20413=@"loc,{#10000},12,11,12,11" +locations_default(#20413,#10000,12,11,12,11) +hasLocation(#20412,#20413) +#20414=* +tokeninfo(#20414,8,#20001,128,"...") +#20415=@"loc,{#10000},12,13,12,15" +locations_default(#20415,#10000,12,13,12,15) +hasLocation(#20414,#20415) +#20416=* +tokeninfo(#20416,8,#20001,129,"{") +#20417=@"loc,{#10000},12,16,12,16" +locations_default(#20417,#10000,12,16,12,16) +hasLocation(#20416,#20417) +#20418=* +tokeninfo(#20418,6,#20001,130,"length") +#20419=@"loc,{#10000},12,17,12,22" +locations_default(#20419,#10000,12,17,12,22) +hasLocation(#20418,#20419) +#20420=* +tokeninfo(#20420,8,#20001,131,"}") +#20421=@"loc,{#10000},12,23,12,23" +locations_default(#20421,#10000,12,23,12,23) +hasLocation(#20420,#20421) +#20422=* +tokeninfo(#20422,8,#20001,132,"]") +#20423=@"loc,{#10000},12,24,12,24" +locations_default(#20423,#10000,12,24,12,24) +hasLocation(#20422,#20423) +#20424=* +tokeninfo(#20424,8,#20001,133,")") +#20425=@"loc,{#10000},12,25,12,25" +locations_default(#20425,#10000,12,25,12,25) +hasLocation(#20424,#20425) +#20426=* +tokeninfo(#20426,8,#20001,134,"=>") +#20427=@"loc,{#10000},12,27,12,28" +locations_default(#20427,#10000,12,27,12,28) +hasLocation(#20426,#20427) +#20428=* +tokeninfo(#20428,6,#20001,135,"length") +#20429=@"loc,{#10000},12,30,12,35" +locations_default(#20429,#10000,12,30,12,35) +hasLocation(#20428,#20429) +#20430=* +tokeninfo(#20430,8,#20001,136,";") +#20431=@"loc,{#10000},12,36,12,36" +locations_default(#20431,#10000,12,36,12,36) +hasLocation(#20430,#20431) +#20432=* +tokeninfo(#20432,6,#20001,137,"async") +#20433=@"loc,{#10000},13,1,13,5" +locations_default(#20433,#10000,13,1,13,5) +hasLocation(#20432,#20433) +#20434=* +tokeninfo(#20434,8,#20001,138,"(") +#20435=@"loc,{#10000},13,7,13,7" +locations_default(#20435,#10000,13,7,13,7) +hasLocation(#20434,#20435) +#20436=* +tokeninfo(#20436,8,#20001,139,"...") +#20437=@"loc,{#10000},13,8,13,10" +locations_default(#20437,#10000,13,8,13,10) +hasLocation(#20436,#20437) +#20438=* +tokeninfo(#20438,8,#20001,140,"[") +#20439=@"loc,{#10000},13,11,13,11" +locations_default(#20439,#10000,13,11,13,11) +hasLocation(#20438,#20439) +#20440=* +tokeninfo(#20440,6,#20001,141,"first") +#20441=@"loc,{#10000},13,12,13,16" +locations_default(#20441,#10000,13,12,13,16) +hasLocation(#20440,#20441) +#20442=* +tokeninfo(#20442,8,#20001,142,",") +#20443=@"loc,{#10000},13,17,13,17" +locations_default(#20443,#10000,13,17,13,17) +hasLocation(#20442,#20443) +#20444=* +tokeninfo(#20444,8,#20001,143,"...") +#20445=@"loc,{#10000},13,19,13,21" +locations_default(#20445,#10000,13,19,13,21) +hasLocation(#20444,#20445) +#20446=* +tokeninfo(#20446,8,#20001,144,"{") +#20447=@"loc,{#10000},13,22,13,22" +locations_default(#20447,#10000,13,22,13,22) +hasLocation(#20446,#20447) +#20448=* +tokeninfo(#20448,6,#20001,145,"length") +#20449=@"loc,{#10000},13,23,13,28" +locations_default(#20449,#10000,13,23,13,28) +hasLocation(#20448,#20449) +#20450=* +tokeninfo(#20450,8,#20001,146,"}") +#20451=@"loc,{#10000},13,29,13,29" +locations_default(#20451,#10000,13,29,13,29) +hasLocation(#20450,#20451) +#20452=* +tokeninfo(#20452,8,#20001,147,"]") +#20453=@"loc,{#10000},13,30,13,30" +locations_default(#20453,#10000,13,30,13,30) +hasLocation(#20452,#20453) +#20454=* +tokeninfo(#20454,8,#20001,148,")") +#20455=@"loc,{#10000},13,31,13,31" +locations_default(#20455,#10000,13,31,13,31) +hasLocation(#20454,#20455) +#20456=* +tokeninfo(#20456,8,#20001,149,"=>") +#20457=@"loc,{#10000},13,33,13,34" +locations_default(#20457,#10000,13,33,13,34) +hasLocation(#20456,#20457) +#20458=* +tokeninfo(#20458,6,#20001,150,"length") +#20459=@"loc,{#10000},13,36,13,41" +locations_default(#20459,#10000,13,36,13,41) +hasLocation(#20458,#20459) +#20460=* +tokeninfo(#20460,8,#20001,151,";") +#20461=@"loc,{#10000},13,42,13,42" +locations_default(#20461,#10000,13,42,13,42) +hasLocation(#20460,#20461) +#20462=* +tokeninfo(#20462,8,#20001,152,"(") +#20463=@"loc,{#10000},14,1,14,1" +locations_default(#20463,#10000,14,1,14,1) +hasLocation(#20462,#20463) +#20464=* +tokeninfo(#20464,8,#20001,153,"[") +#20465=@"loc,{#10000},14,2,14,2" +locations_default(#20465,#10000,14,2,14,2) +hasLocation(#20464,#20465) +#20466=* +tokeninfo(#20466,6,#20001,154,"first") +#20467=@"loc,{#10000},14,3,14,7" +locations_default(#20467,#10000,14,3,14,7) +hasLocation(#20466,#20467) +#20468=* +tokeninfo(#20468,8,#20001,155,",") +#20469=@"loc,{#10000},14,8,14,8" +locations_default(#20469,#10000,14,8,14,8) +hasLocation(#20468,#20469) +#20470=* +tokeninfo(#20470,8,#20001,156,"...") +#20471=@"loc,{#10000},14,10,14,12" +locations_default(#20471,#10000,14,10,14,12) +hasLocation(#20470,#20471) +#20472=* +tokeninfo(#20472,8,#20001,157,"{") +#20473=@"loc,{#10000},14,13,14,13" +locations_default(#20473,#10000,14,13,14,13) +hasLocation(#20472,#20473) +#20474=* +tokeninfo(#20474,6,#20001,158,"length") +#20475=@"loc,{#10000},14,14,14,19" +locations_default(#20475,#10000,14,14,14,19) +hasLocation(#20474,#20475) +#20476=* +tokeninfo(#20476,8,#20001,159,"}") +#20477=@"loc,{#10000},14,20,14,20" +locations_default(#20477,#10000,14,20,14,20) +hasLocation(#20476,#20477) +#20478=* +tokeninfo(#20478,8,#20001,160,"]") +#20479=@"loc,{#10000},14,21,14,21" +locations_default(#20479,#10000,14,21,14,21) +hasLocation(#20478,#20479) +#20480=* +tokeninfo(#20480,8,#20001,161,")") +#20481=@"loc,{#10000},14,22,14,22" +locations_default(#20481,#10000,14,22,14,22) +hasLocation(#20480,#20481) +#20482=* +tokeninfo(#20482,8,#20001,162,"=>") +#20483=@"loc,{#10000},14,24,14,25" +locations_default(#20483,#10000,14,24,14,25) +hasLocation(#20482,#20483) +#20484=* +tokeninfo(#20484,6,#20001,163,"length") +#20485=@"loc,{#10000},14,27,14,32" +locations_default(#20485,#10000,14,27,14,32) +hasLocation(#20484,#20485) +#20486=* +tokeninfo(#20486,8,#20001,164,";") +#20487=@"loc,{#10000},14,33,14,33" +locations_default(#20487,#10000,14,33,14,33) +hasLocation(#20486,#20487) +#20488=* +tokeninfo(#20488,8,#20001,165,"{") +hasLocation(#20488,#20031) +#20489=* +tokeninfo(#20489,7,#20001,166,"const") +#20490=@"loc,{#10000},16,3,16,7" +locations_default(#20490,#10000,16,3,16,7) +hasLocation(#20489,#20490) +#20491=* +tokeninfo(#20491,8,#20001,167,"[") +#20492=@"loc,{#10000},16,9,16,9" +locations_default(#20492,#10000,16,9,16,9) +hasLocation(#20491,#20492) +#20493=* +tokeninfo(#20493,6,#20001,168,"first") +#20494=@"loc,{#10000},16,10,16,14" +locations_default(#20494,#10000,16,10,16,14) +hasLocation(#20493,#20494) +#20495=* +tokeninfo(#20495,8,#20001,169,",") +#20496=@"loc,{#10000},16,15,16,15" +locations_default(#20496,#10000,16,15,16,15) +hasLocation(#20495,#20496) +#20497=* +tokeninfo(#20497,8,#20001,170,"...") +#20498=@"loc,{#10000},16,17,16,19" +locations_default(#20498,#10000,16,17,16,19) +hasLocation(#20497,#20498) +#20499=* +tokeninfo(#20499,8,#20001,171,"{") +#20500=@"loc,{#10000},16,20,16,20" +locations_default(#20500,#10000,16,20,16,20) +hasLocation(#20499,#20500) +#20501=* +tokeninfo(#20501,6,#20001,172,"length") +#20502=@"loc,{#10000},16,21,16,26" +locations_default(#20502,#10000,16,21,16,26) +hasLocation(#20501,#20502) +#20503=* +tokeninfo(#20503,8,#20001,173,"}") +#20504=@"loc,{#10000},16,27,16,27" +locations_default(#20504,#10000,16,27,16,27) +hasLocation(#20503,#20504) +#20505=* +tokeninfo(#20505,8,#20001,174,"]") +#20506=@"loc,{#10000},16,28,16,28" +locations_default(#20506,#10000,16,28,16,28) +hasLocation(#20505,#20506) +#20507=* +tokeninfo(#20507,8,#20001,175,"=") +#20508=@"loc,{#10000},16,30,16,30" +locations_default(#20508,#10000,16,30,16,30) +hasLocation(#20507,#20508) +#20509=* +tokeninfo(#20509,6,#20001,176,"items") +#20510=@"loc,{#10000},16,32,16,36" +locations_default(#20510,#10000,16,32,16,36) +hasLocation(#20509,#20510) +#20511=* +tokeninfo(#20511,8,#20001,177,";") +#20512=@"loc,{#10000},16,37,16,37" +locations_default(#20512,#10000,16,37,16,37) +hasLocation(#20511,#20512) +#20513=* +tokeninfo(#20513,8,#20001,178,"}") +hasLocation(#20513,#20035) +#20514=* +tokeninfo(#20514,8,#20001,179,"(") +#20515=@"loc,{#10000},18,1,18,1" +locations_default(#20515,#10000,18,1,18,1) +hasLocation(#20514,#20515) +#20516=* +tokeninfo(#20516,8,#20001,180,"[") +#20517=@"loc,{#10000},18,2,18,2" +locations_default(#20517,#10000,18,2,18,2) +hasLocation(#20516,#20517) +#20518=* +tokeninfo(#20518,6,#20001,181,"first") +#20519=@"loc,{#10000},18,3,18,7" +locations_default(#20519,#10000,18,3,18,7) +hasLocation(#20518,#20519) +#20520=* +tokeninfo(#20520,8,#20001,182,",") +#20521=@"loc,{#10000},18,8,18,8" +locations_default(#20521,#10000,18,8,18,8) +hasLocation(#20520,#20521) +#20522=* +tokeninfo(#20522,8,#20001,183,"...") +#20523=@"loc,{#10000},18,10,18,12" +locations_default(#20523,#10000,18,10,18,12) +hasLocation(#20522,#20523) +#20524=* +tokeninfo(#20524,8,#20001,184,"{") +#20525=@"loc,{#10000},18,13,18,13" +locations_default(#20525,#10000,18,13,18,13) +hasLocation(#20524,#20525) +#20526=* +tokeninfo(#20526,6,#20001,185,"length") +#20527=@"loc,{#10000},18,14,18,19" +locations_default(#20527,#10000,18,14,18,19) +hasLocation(#20526,#20527) +#20528=* +tokeninfo(#20528,8,#20001,186,"}") +#20529=@"loc,{#10000},18,20,18,20" +locations_default(#20529,#10000,18,20,18,20) +hasLocation(#20528,#20529) +#20530=* +tokeninfo(#20530,8,#20001,187,"]") +#20531=@"loc,{#10000},18,21,18,21" +locations_default(#20531,#10000,18,21,18,21) +hasLocation(#20530,#20531) +#20532=* +tokeninfo(#20532,8,#20001,188,"=") +#20533=@"loc,{#10000},18,23,18,23" +locations_default(#20533,#10000,18,23,18,23) +hasLocation(#20532,#20533) +#20534=* +tokeninfo(#20534,6,#20001,189,"items") +#20535=@"loc,{#10000},18,25,18,29" +locations_default(#20535,#10000,18,25,18,29) +hasLocation(#20534,#20535) +#20536=* +tokeninfo(#20536,8,#20001,190,")") +#20537=@"loc,{#10000},18,30,18,30" +locations_default(#20537,#10000,18,30,18,30) +hasLocation(#20536,#20537) +#20538=* +tokeninfo(#20538,8,#20001,191,";") +#20539=@"loc,{#10000},18,31,18,31" +locations_default(#20539,#10000,18,31,18,31) +hasLocation(#20538,#20539) +#20540=* +tokeninfo(#20540,7,#20001,192,"for") +#20541=@"loc,{#10000},19,1,19,3" +locations_default(#20541,#10000,19,1,19,3) +hasLocation(#20540,#20541) +#20542=* +tokeninfo(#20542,8,#20001,193,"(") +#20543=@"loc,{#10000},19,5,19,5" +locations_default(#20543,#10000,19,5,19,5) +hasLocation(#20542,#20543) +#20544=* +tokeninfo(#20544,7,#20001,194,"const") +#20545=@"loc,{#10000},19,6,19,10" +locations_default(#20545,#10000,19,6,19,10) +hasLocation(#20544,#20545) +#20546=* +tokeninfo(#20546,8,#20001,195,"[") +#20547=@"loc,{#10000},19,12,19,12" +locations_default(#20547,#10000,19,12,19,12) +hasLocation(#20546,#20547) +#20548=* +tokeninfo(#20548,6,#20001,196,"first") +#20549=@"loc,{#10000},19,13,19,17" +locations_default(#20549,#10000,19,13,19,17) +hasLocation(#20548,#20549) +#20550=* +tokeninfo(#20550,8,#20001,197,",") +#20551=@"loc,{#10000},19,18,19,18" +locations_default(#20551,#10000,19,18,19,18) +hasLocation(#20550,#20551) +#20552=* +tokeninfo(#20552,8,#20001,198,"...") +#20553=@"loc,{#10000},19,20,19,22" +locations_default(#20553,#10000,19,20,19,22) +hasLocation(#20552,#20553) +#20554=* +tokeninfo(#20554,8,#20001,199,"{") +#20555=@"loc,{#10000},19,23,19,23" +locations_default(#20555,#10000,19,23,19,23) +hasLocation(#20554,#20555) +#20556=* +tokeninfo(#20556,6,#20001,200,"length") +#20557=@"loc,{#10000},19,24,19,29" +locations_default(#20557,#10000,19,24,19,29) +hasLocation(#20556,#20557) +#20558=* +tokeninfo(#20558,8,#20001,201,"}") +#20559=@"loc,{#10000},19,30,19,30" +locations_default(#20559,#10000,19,30,19,30) +hasLocation(#20558,#20559) +#20560=* +tokeninfo(#20560,8,#20001,202,"]") +#20561=@"loc,{#10000},19,31,19,31" +locations_default(#20561,#10000,19,31,19,31) +hasLocation(#20560,#20561) +#20562=* +tokeninfo(#20562,6,#20001,203,"of") +#20563=@"loc,{#10000},19,33,19,34" +locations_default(#20563,#10000,19,33,19,34) +hasLocation(#20562,#20563) +#20564=* +tokeninfo(#20564,6,#20001,204,"items") +#20565=@"loc,{#10000},19,36,19,40" +locations_default(#20565,#10000,19,36,19,40) +hasLocation(#20564,#20565) +#20566=* +tokeninfo(#20566,8,#20001,205,")") +#20567=@"loc,{#10000},19,41,19,41" +locations_default(#20567,#10000,19,41,19,41) +hasLocation(#20566,#20567) +#20568=* +tokeninfo(#20568,8,#20001,206,"{") +#20569=@"loc,{#10000},19,43,19,43" +locations_default(#20569,#10000,19,43,19,43) +hasLocation(#20568,#20569) +#20570=* +tokeninfo(#20570,8,#20001,207,"}") +#20571=@"loc,{#10000},19,44,19,44" +locations_default(#20571,#10000,19,44,19,44) +hasLocation(#20570,#20571) +#20572=* +tokeninfo(#20572,7,#20001,208,"try") +#20573=@"loc,{#10000},20,1,20,3" +locations_default(#20573,#10000,20,1,20,3) +hasLocation(#20572,#20573) +#20574=* +tokeninfo(#20574,8,#20001,209,"{") +#20575=@"loc,{#10000},20,5,20,5" +locations_default(#20575,#10000,20,5,20,5) +hasLocation(#20574,#20575) +#20576=* +tokeninfo(#20576,8,#20001,210,"}") +#20577=@"loc,{#10000},20,6,20,6" +locations_default(#20577,#10000,20,6,20,6) +hasLocation(#20576,#20577) +#20578=* +tokeninfo(#20578,7,#20001,211,"catch") +#20579=@"loc,{#10000},20,8,20,12" +locations_default(#20579,#10000,20,8,20,12) +hasLocation(#20578,#20579) +#20580=* +tokeninfo(#20580,8,#20001,212,"(") +#20581=@"loc,{#10000},20,14,20,14" +locations_default(#20581,#10000,20,14,20,14) +hasLocation(#20580,#20581) +#20582=* +tokeninfo(#20582,8,#20001,213,"[") +#20583=@"loc,{#10000},20,15,20,15" +locations_default(#20583,#10000,20,15,20,15) +hasLocation(#20582,#20583) +#20584=* +tokeninfo(#20584,6,#20001,214,"first") +#20585=@"loc,{#10000},20,16,20,20" +locations_default(#20585,#10000,20,16,20,20) +hasLocation(#20584,#20585) +#20586=* +tokeninfo(#20586,8,#20001,215,",") +#20587=@"loc,{#10000},20,21,20,21" +locations_default(#20587,#10000,20,21,20,21) +hasLocation(#20586,#20587) +#20588=* +tokeninfo(#20588,8,#20001,216,"...") +#20589=@"loc,{#10000},20,23,20,25" +locations_default(#20589,#10000,20,23,20,25) +hasLocation(#20588,#20589) +#20590=* +tokeninfo(#20590,8,#20001,217,"{") +#20591=@"loc,{#10000},20,26,20,26" +locations_default(#20591,#10000,20,26,20,26) +hasLocation(#20590,#20591) +#20592=* +tokeninfo(#20592,6,#20001,218,"length") +#20593=@"loc,{#10000},20,27,20,32" +locations_default(#20593,#10000,20,27,20,32) +hasLocation(#20592,#20593) +#20594=* +tokeninfo(#20594,8,#20001,219,"}") +#20595=@"loc,{#10000},20,33,20,33" +locations_default(#20595,#10000,20,33,20,33) +hasLocation(#20594,#20595) +#20596=* +tokeninfo(#20596,8,#20001,220,"]") +#20597=@"loc,{#10000},20,34,20,34" +locations_default(#20597,#10000,20,34,20,34) +hasLocation(#20596,#20597) +#20598=* +tokeninfo(#20598,8,#20001,221,")") +#20599=@"loc,{#10000},20,35,20,35" +locations_default(#20599,#10000,20,35,20,35) +hasLocation(#20598,#20599) +#20600=* +tokeninfo(#20600,8,#20001,222,"{") +#20601=@"loc,{#10000},20,37,20,37" +locations_default(#20601,#10000,20,37,20,37) +hasLocation(#20600,#20601) +#20602=* +tokeninfo(#20602,8,#20001,223,"}") +#20603=@"loc,{#10000},20,38,20,38" +locations_default(#20603,#10000,20,38,20,38) +hasLocation(#20602,#20603) +#20604=* +tokeninfo(#20604,8,#20001,224,"(") +#20605=@"loc,{#10000},21,1,21,1" +locations_default(#20605,#10000,21,1,21,1) +hasLocation(#20604,#20605) +#20606=* +tokeninfo(#20606,8,#20001,225,"[") +#20607=@"loc,{#10000},21,2,21,2" +locations_default(#20607,#10000,21,2,21,2) +hasLocation(#20606,#20607) +#20608=* +tokeninfo(#20608,8,#20001,226,"...") +#20609=@"loc,{#10000},21,3,21,5" +locations_default(#20609,#10000,21,3,21,5) +hasLocation(#20608,#20609) +#20610=* +tokeninfo(#20610,8,#20001,227,"{") +#20611=@"loc,{#10000},21,6,21,6" +locations_default(#20611,#10000,21,6,21,6) +hasLocation(#20610,#20611) +#20612=* +tokeninfo(#20612,6,#20001,228,"x") +#20613=@"loc,{#10000},21,7,21,7" +locations_default(#20613,#10000,21,7,21,7) +hasLocation(#20612,#20613) +#20614=* +tokeninfo(#20614,8,#20001,229,":") +#20615=@"loc,{#10000},21,8,21,8" +locations_default(#20615,#10000,21,8,21,8) +hasLocation(#20614,#20615) +#20616=* +tokeninfo(#20616,6,#20001,230,"obj") +#20617=@"loc,{#10000},21,10,21,12" +locations_default(#20617,#10000,21,10,21,12) +hasLocation(#20616,#20617) +#20618=* +tokeninfo(#20618,8,#20001,231,".") +#20619=@"loc,{#10000},21,13,21,13" +locations_default(#20619,#10000,21,13,21,13) +hasLocation(#20618,#20619) +#20620=* +tokeninfo(#20620,6,#20001,232,"x") +#20621=@"loc,{#10000},21,14,21,14" +locations_default(#20621,#10000,21,14,21,14) +hasLocation(#20620,#20621) +#20622=* +tokeninfo(#20622,8,#20001,233,"}") +#20623=@"loc,{#10000},21,15,21,15" +locations_default(#20623,#10000,21,15,21,15) +hasLocation(#20622,#20623) +#20624=* +tokeninfo(#20624,8,#20001,234,"]") +#20625=@"loc,{#10000},21,16,21,16" +locations_default(#20625,#10000,21,16,21,16) +hasLocation(#20624,#20625) +#20626=* +tokeninfo(#20626,8,#20001,235,"=") +#20627=@"loc,{#10000},21,18,21,18" +locations_default(#20627,#10000,21,18,21,18) +hasLocation(#20626,#20627) +#20628=* +tokeninfo(#20628,6,#20001,236,"items") +#20629=@"loc,{#10000},21,20,21,24" +locations_default(#20629,#10000,21,20,21,24) +hasLocation(#20628,#20629) +#20630=* +tokeninfo(#20630,8,#20001,237,")") +#20631=@"loc,{#10000},21,25,21,25" +locations_default(#20631,#10000,21,25,21,25) +hasLocation(#20630,#20631) +#20632=* +tokeninfo(#20632,8,#20001,238,";") +#20633=@"loc,{#10000},21,26,21,26" +locations_default(#20633,#10000,21,26,21,26) +hasLocation(#20632,#20633) +#20634=* +tokeninfo(#20634,8,#20001,239,"(") +#20635=@"loc,{#10000},23,1,23,1" +locations_default(#20635,#10000,23,1,23,1) +hasLocation(#20634,#20635) +#20636=* +tokeninfo(#20636,8,#20001,240,"[") +#20637=@"loc,{#10000},23,2,23,2" +locations_default(#20637,#10000,23,2,23,2) +hasLocation(#20636,#20637) +#20638=* +tokeninfo(#20638,8,#20001,241,"...") +#20639=@"loc,{#10000},23,3,23,5" +locations_default(#20639,#10000,23,3,23,5) +hasLocation(#20638,#20639) +#20640=* +tokeninfo(#20640,8,#20001,242,"(") +#20641=@"loc,{#10000},23,6,23,6" +locations_default(#20641,#10000,23,6,23,6) +hasLocation(#20640,#20641) +#20642=* +tokeninfo(#20642,6,#20001,243,"obj") +#20643=@"loc,{#10000},23,7,23,9" +locations_default(#20643,#10000,23,7,23,9) +hasLocation(#20642,#20643) +#20644=* +tokeninfo(#20644,8,#20001,244,".") +#20645=@"loc,{#10000},23,10,23,10" +locations_default(#20645,#10000,23,10,23,10) +hasLocation(#20644,#20645) +#20646=* +tokeninfo(#20646,6,#20001,245,"x") +#20647=@"loc,{#10000},23,11,23,11" +locations_default(#20647,#10000,23,11,23,11) +hasLocation(#20646,#20647) +#20648=* +tokeninfo(#20648,8,#20001,246,")") +#20649=@"loc,{#10000},23,12,23,12" +locations_default(#20649,#10000,23,12,23,12) +hasLocation(#20648,#20649) +#20650=* +tokeninfo(#20650,8,#20001,247,"]") +#20651=@"loc,{#10000},23,13,23,13" +locations_default(#20651,#10000,23,13,23,13) +hasLocation(#20650,#20651) +#20652=* +tokeninfo(#20652,8,#20001,248,"=") +#20653=@"loc,{#10000},23,15,23,15" +locations_default(#20653,#10000,23,15,23,15) +hasLocation(#20652,#20653) +#20654=* +tokeninfo(#20654,6,#20001,249,"items") +#20655=@"loc,{#10000},23,17,23,21" +locations_default(#20655,#10000,23,17,23,21) +hasLocation(#20654,#20655) +#20656=* +tokeninfo(#20656,8,#20001,250,")") +#20657=@"loc,{#10000},23,22,23,22" +locations_default(#20657,#10000,23,22,23,22) +hasLocation(#20656,#20657) +#20658=* +tokeninfo(#20658,8,#20001,251,";") +#20659=@"loc,{#10000},23,23,23,23" +locations_default(#20659,#10000,23,23,23,23) +hasLocation(#20658,#20659) +#20660=* +tokeninfo(#20660,8,#20001,252,"(") +#20661=@"loc,{#10000},24,1,24,1" +locations_default(#20661,#10000,24,1,24,1) +hasLocation(#20660,#20661) +#20662=* +tokeninfo(#20662,8,#20001,253,"[") +#20663=@"loc,{#10000},24,2,24,2" +locations_default(#20663,#10000,24,2,24,2) +hasLocation(#20662,#20663) +#20664=* +tokeninfo(#20664,8,#20001,254,"...") +#20665=@"loc,{#10000},24,3,24,5" +locations_default(#20665,#10000,24,3,24,5) +hasLocation(#20664,#20665) +#20666=* +tokeninfo(#20666,8,#20001,255,"(") +#20667=@"loc,{#10000},24,6,24,6" +locations_default(#20667,#10000,24,6,24,6) +hasLocation(#20666,#20667) +#20668=* +tokeninfo(#20668,6,#20001,256,"x") +#20669=@"loc,{#10000},24,7,24,7" +locations_default(#20669,#10000,24,7,24,7) +hasLocation(#20668,#20669) +#20670=* +tokeninfo(#20670,8,#20001,257,")") +#20671=@"loc,{#10000},24,8,24,8" +locations_default(#20671,#10000,24,8,24,8) +hasLocation(#20670,#20671) +#20672=* +tokeninfo(#20672,8,#20001,258,"]") +#20673=@"loc,{#10000},24,9,24,9" +locations_default(#20673,#10000,24,9,24,9) +hasLocation(#20672,#20673) +#20674=* +tokeninfo(#20674,8,#20001,259,"=") +#20675=@"loc,{#10000},24,11,24,11" +locations_default(#20675,#10000,24,11,24,11) +hasLocation(#20674,#20675) +#20676=* +tokeninfo(#20676,6,#20001,260,"items") +#20677=@"loc,{#10000},24,13,24,17" +locations_default(#20677,#10000,24,13,24,17) +hasLocation(#20676,#20677) +#20678=* +tokeninfo(#20678,8,#20001,261,")") +#20679=@"loc,{#10000},24,18,24,18" +locations_default(#20679,#10000,24,18,24,18) +hasLocation(#20678,#20679) +#20680=* +tokeninfo(#20680,8,#20001,262,";") +#20681=@"loc,{#10000},24,19,24,19" +locations_default(#20681,#10000,24,19,24,19) +hasLocation(#20680,#20681) +#20682=* +tokeninfo(#20682,8,#20001,263,"(") +#20683=@"loc,{#10000},25,1,25,1" +locations_default(#20683,#10000,25,1,25,1) +hasLocation(#20682,#20683) +#20684=* +tokeninfo(#20684,8,#20001,264,"[") +#20685=@"loc,{#10000},25,2,25,2" +locations_default(#20685,#10000,25,2,25,2) +hasLocation(#20684,#20685) +#20686=* +tokeninfo(#20686,8,#20001,265,"...") +#20687=@"loc,{#10000},25,3,25,5" +locations_default(#20687,#10000,25,3,25,5) +hasLocation(#20686,#20687) +#20688=* +tokeninfo(#20688,6,#20001,266,"obj") +#20689=@"loc,{#10000},25,6,25,8" +locations_default(#20689,#10000,25,6,25,8) +hasLocation(#20688,#20689) +#20690=* +tokeninfo(#20690,8,#20001,267,".") +#20691=@"loc,{#10000},25,9,25,9" +locations_default(#20691,#10000,25,9,25,9) +hasLocation(#20690,#20691) +#20692=* +tokeninfo(#20692,6,#20001,268,"x") +#20693=@"loc,{#10000},25,10,25,10" +locations_default(#20693,#10000,25,10,25,10) +hasLocation(#20692,#20693) +#20694=* +tokeninfo(#20694,8,#20001,269,"]") +#20695=@"loc,{#10000},25,11,25,11" +locations_default(#20695,#10000,25,11,25,11) +hasLocation(#20694,#20695) +#20696=* +tokeninfo(#20696,8,#20001,270,"=") +#20697=@"loc,{#10000},25,13,25,13" +locations_default(#20697,#10000,25,13,25,13) +hasLocation(#20696,#20697) +#20698=* +tokeninfo(#20698,6,#20001,271,"items") +#20699=@"loc,{#10000},25,15,25,19" +locations_default(#20699,#10000,25,15,25,19) +hasLocation(#20698,#20699) +#20700=* +tokeninfo(#20700,8,#20001,272,")") +#20701=@"loc,{#10000},25,20,25,20" +locations_default(#20701,#10000,25,20,25,20) +hasLocation(#20700,#20701) +#20702=* +tokeninfo(#20702,8,#20001,273,";") +#20703=@"loc,{#10000},25,21,25,21" +locations_default(#20703,#10000,25,21,25,21) +hasLocation(#20702,#20703) +#20704=* +tokeninfo(#20704,8,#20001,274,"(") +#20705=@"loc,{#10000},26,1,26,1" +locations_default(#20705,#10000,26,1,26,1) +hasLocation(#20704,#20705) +#20706=* +tokeninfo(#20706,8,#20001,275,"{") +#20707=@"loc,{#10000},26,2,26,2" +locations_default(#20707,#10000,26,2,26,2) +hasLocation(#20706,#20707) +#20708=* +tokeninfo(#20708,8,#20001,276,"...") +#20709=@"loc,{#10000},26,3,26,5" +locations_default(#20709,#10000,26,3,26,5) +hasLocation(#20708,#20709) +#20710=* +tokeninfo(#20710,8,#20001,277,"(") +#20711=@"loc,{#10000},26,6,26,6" +locations_default(#20711,#10000,26,6,26,6) +hasLocation(#20710,#20711) +#20712=* +tokeninfo(#20712,6,#20001,278,"obj") +#20713=@"loc,{#10000},26,7,26,9" +locations_default(#20713,#10000,26,7,26,9) +hasLocation(#20712,#20713) +#20714=* +tokeninfo(#20714,8,#20001,279,".") +#20715=@"loc,{#10000},26,10,26,10" +locations_default(#20715,#10000,26,10,26,10) +hasLocation(#20714,#20715) +#20716=* +tokeninfo(#20716,6,#20001,280,"rest") +#20717=@"loc,{#10000},26,11,26,14" +locations_default(#20717,#10000,26,11,26,14) +hasLocation(#20716,#20717) +#20718=* +tokeninfo(#20718,8,#20001,281,")") +#20719=@"loc,{#10000},26,15,26,15" +locations_default(#20719,#10000,26,15,26,15) +hasLocation(#20718,#20719) +#20720=* +tokeninfo(#20720,8,#20001,282,"}") +#20721=@"loc,{#10000},26,16,26,16" +locations_default(#20721,#10000,26,16,26,16) +hasLocation(#20720,#20721) +#20722=* +tokeninfo(#20722,8,#20001,283,"=") +#20723=@"loc,{#10000},26,18,26,18" +locations_default(#20723,#10000,26,18,26,18) +hasLocation(#20722,#20723) +#20724=* +tokeninfo(#20724,6,#20001,284,"obj") +#20725=@"loc,{#10000},26,20,26,22" +locations_default(#20725,#10000,26,20,26,22) +hasLocation(#20724,#20725) +#20726=* +tokeninfo(#20726,8,#20001,285,")") +#20727=@"loc,{#10000},26,23,26,23" +locations_default(#20727,#10000,26,23,26,23) +hasLocation(#20726,#20727) +#20728=* +tokeninfo(#20728,8,#20001,286,";") +#20729=@"loc,{#10000},26,24,26,24" +locations_default(#20729,#10000,26,24,26,24) +hasLocation(#20728,#20729) +#20730=* +tokeninfo(#20730,8,#20001,287,"{") +hasLocation(#20730,#20057) +#20731=* +tokeninfo(#20731,7,#20001,288,"const") +#20732=@"loc,{#10000},29,3,29,7" +locations_default(#20732,#10000,29,3,29,7) +hasLocation(#20731,#20732) +#20733=* +tokeninfo(#20733,8,#20001,289,"{") +#20734=@"loc,{#10000},29,9,29,9" +locations_default(#20734,#10000,29,9,29,9) +hasLocation(#20733,#20734) +#20735=* +tokeninfo(#20735,6,#20001,290,"x") +#20736=@"loc,{#10000},29,10,29,10" +locations_default(#20736,#10000,29,10,29,10) +hasLocation(#20735,#20736) +#20737=* +tokeninfo(#20737,8,#20001,291,",") +#20738=@"loc,{#10000},29,11,29,11" +locations_default(#20738,#10000,29,11,29,11) +hasLocation(#20737,#20738) +#20739=* +tokeninfo(#20739,8,#20001,292,"...") +#20740=@"loc,{#10000},29,13,29,15" +locations_default(#20740,#10000,29,13,29,15) +hasLocation(#20739,#20740) +#20741=* +tokeninfo(#20741,6,#20001,293,"rest") +#20742=@"loc,{#10000},29,16,29,19" +locations_default(#20742,#10000,29,16,29,19) +hasLocation(#20741,#20742) +#20743=* +tokeninfo(#20743,8,#20001,294,"}") +#20744=@"loc,{#10000},29,20,29,20" +locations_default(#20744,#10000,29,20,29,20) +hasLocation(#20743,#20744) +#20745=* +tokeninfo(#20745,8,#20001,295,"=") +#20746=@"loc,{#10000},29,22,29,22" +locations_default(#20746,#10000,29,22,29,22) +hasLocation(#20745,#20746) +#20747=* +tokeninfo(#20747,6,#20001,296,"obj") +#20748=@"loc,{#10000},29,24,29,26" +locations_default(#20748,#10000,29,24,29,26) +hasLocation(#20747,#20748) +#20749=* +tokeninfo(#20749,8,#20001,297,";") +#20750=@"loc,{#10000},29,27,29,27" +locations_default(#20750,#10000,29,27,29,27) +hasLocation(#20749,#20750) +#20751=* +tokeninfo(#20751,8,#20001,298,"}") +hasLocation(#20751,#20061) +#20752=* +tokeninfo(#20752,8,#20001,299,"(") +#20753=@"loc,{#10000},31,1,31,1" +locations_default(#20753,#10000,31,1,31,1) +hasLocation(#20752,#20753) +#20754=* +tokeninfo(#20754,8,#20001,300,"{") +#20755=@"loc,{#10000},31,2,31,2" +locations_default(#20755,#10000,31,2,31,2) +hasLocation(#20754,#20755) +#20756=* +tokeninfo(#20756,6,#20001,301,"x") +#20757=@"loc,{#10000},31,3,31,3" +locations_default(#20757,#10000,31,3,31,3) +hasLocation(#20756,#20757) +#20758=* +tokeninfo(#20758,8,#20001,302,",") +#20759=@"loc,{#10000},31,4,31,4" +locations_default(#20759,#10000,31,4,31,4) +hasLocation(#20758,#20759) +#20760=* +tokeninfo(#20760,8,#20001,303,"...") +#20761=@"loc,{#10000},31,6,31,8" +locations_default(#20761,#10000,31,6,31,8) +hasLocation(#20760,#20761) +#20762=* +tokeninfo(#20762,6,#20001,304,"obj") +#20763=@"loc,{#10000},31,9,31,11" +locations_default(#20763,#10000,31,9,31,11) +hasLocation(#20762,#20763) +#20764=* +tokeninfo(#20764,8,#20001,305,".") +#20765=@"loc,{#10000},31,12,31,12" +locations_default(#20765,#10000,31,12,31,12) +hasLocation(#20764,#20765) +#20766=* +tokeninfo(#20766,6,#20001,306,"rest") +#20767=@"loc,{#10000},31,13,31,16" +locations_default(#20767,#10000,31,13,31,16) +hasLocation(#20766,#20767) +#20768=* +tokeninfo(#20768,8,#20001,307,"}") +#20769=@"loc,{#10000},31,17,31,17" +locations_default(#20769,#10000,31,17,31,17) +hasLocation(#20768,#20769) +#20770=* +tokeninfo(#20770,8,#20001,308,"=") +#20771=@"loc,{#10000},31,19,31,19" +locations_default(#20771,#10000,31,19,31,19) +hasLocation(#20770,#20771) +#20772=* +tokeninfo(#20772,6,#20001,309,"obj") +#20773=@"loc,{#10000},31,21,31,23" +locations_default(#20773,#10000,31,21,31,23) +hasLocation(#20772,#20773) +#20774=* +tokeninfo(#20774,8,#20001,310,")") +#20775=@"loc,{#10000},31,24,31,24" +locations_default(#20775,#10000,31,24,31,24) +hasLocation(#20774,#20775) +#20776=* +tokeninfo(#20776,8,#20001,311,";") +#20777=@"loc,{#10000},31,25,31,25" +locations_default(#20777,#10000,31,25,31,25) +hasLocation(#20776,#20777) +#20778=* +tokeninfo(#20778,8,#20001,312,"(") +#20779=@"loc,{#10000},32,1,32,1" +locations_default(#20779,#10000,32,1,32,1) +hasLocation(#20778,#20779) +#20780=* +tokeninfo(#20780,8,#20001,313,"{") +#20781=@"loc,{#10000},32,2,32,2" +locations_default(#20781,#10000,32,2,32,2) +hasLocation(#20780,#20781) +#20782=* +tokeninfo(#20782,8,#20001,314,"...") +#20783=@"loc,{#10000},32,4,32,6" +locations_default(#20783,#10000,32,4,32,6) +hasLocation(#20782,#20783) +#20784=* +tokeninfo(#20784,6,#20001,315,"obj") +#20785=@"loc,{#10000},32,7,32,9" +locations_default(#20785,#10000,32,7,32,9) +hasLocation(#20784,#20785) +#20786=* +tokeninfo(#20786,8,#20001,316,",") +#20787=@"loc,{#10000},32,10,32,10" +locations_default(#20787,#10000,32,10,32,10) +hasLocation(#20786,#20787) +#20788=* +tokeninfo(#20788,8,#20001,317,"}") +#20789=@"loc,{#10000},32,12,32,12" +locations_default(#20789,#10000,32,12,32,12) +hasLocation(#20788,#20789) +#20790=* +tokeninfo(#20790,8,#20001,318,")") +#20791=@"loc,{#10000},32,13,32,13" +locations_default(#20791,#10000,32,13,32,13) +hasLocation(#20790,#20791) +#20792=* +tokeninfo(#20792,8,#20001,319,";") +#20793=@"loc,{#10000},32,14,32,14" +locations_default(#20793,#10000,32,14,32,14) +hasLocation(#20792,#20793) +#20794=* +tokeninfo(#20794,8,#20001,320,"(") +#20795=@"loc,{#10000},33,1,33,1" +locations_default(#20795,#10000,33,1,33,1) +hasLocation(#20794,#20795) +#20796=* +tokeninfo(#20796,8,#20001,321,"{") +#20797=@"loc,{#10000},33,2,33,2" +locations_default(#20797,#10000,33,2,33,2) +hasLocation(#20796,#20797) +#20798=* +tokeninfo(#20798,8,#20001,322,"...") +#20799=@"loc,{#10000},33,4,33,6" +locations_default(#20799,#10000,33,4,33,6) +hasLocation(#20798,#20799) +#20800=* +tokeninfo(#20800,6,#20001,323,"obj") +#20801=@"loc,{#10000},33,7,33,9" +locations_default(#20801,#10000,33,7,33,9) +hasLocation(#20800,#20801) +#20802=* +tokeninfo(#20802,8,#20001,324,",") +#20803=@"loc,{#10000},33,10,33,10" +locations_default(#20803,#10000,33,10,33,10) +hasLocation(#20802,#20803) +#20804=* +tokeninfo(#20804,6,#20001,325,"x") +#20805=@"loc,{#10000},33,12,33,12" +locations_default(#20805,#10000,33,12,33,12) +hasLocation(#20804,#20805) +#20806=* +tokeninfo(#20806,8,#20001,326,":") +#20807=@"loc,{#10000},33,13,33,13" +locations_default(#20807,#10000,33,13,33,13) +hasLocation(#20806,#20807) +#20808=* +tokeninfo(#20808,3,#20001,327,"1") +#20809=@"loc,{#10000},33,15,33,15" +locations_default(#20809,#10000,33,15,33,15) +hasLocation(#20808,#20809) +#20810=* +tokeninfo(#20810,8,#20001,328,"}") +#20811=@"loc,{#10000},33,17,33,17" +locations_default(#20811,#10000,33,17,33,17) +hasLocation(#20810,#20811) +#20812=* +tokeninfo(#20812,8,#20001,329,")") +#20813=@"loc,{#10000},33,18,33,18" +locations_default(#20813,#10000,33,18,33,18) +hasLocation(#20812,#20813) +#20814=* +tokeninfo(#20814,8,#20001,330,";") +#20815=@"loc,{#10000},33,19,33,19" +locations_default(#20815,#10000,33,19,33,19) +hasLocation(#20814,#20815) +#20816=* +tokeninfo(#20816,8,#20001,331,"(") +#20817=@"loc,{#10000},34,1,34,1" +locations_default(#20817,#10000,34,1,34,1) +hasLocation(#20816,#20817) +#20818=* +tokeninfo(#20818,8,#20001,332,"{") +#20819=@"loc,{#10000},34,2,34,2" +locations_default(#20819,#10000,34,2,34,2) +hasLocation(#20818,#20819) +#20820=* +tokeninfo(#20820,8,#20001,333,"...") +#20821=@"loc,{#10000},34,4,34,6" +locations_default(#20821,#10000,34,4,34,6) +hasLocation(#20820,#20821) +#20822=* +tokeninfo(#20822,6,#20001,334,"a") +#20823=@"loc,{#10000},34,7,34,7" +locations_default(#20823,#10000,34,7,34,7) +hasLocation(#20822,#20823) +#20824=* +tokeninfo(#20824,8,#20001,335,",") +#20825=@"loc,{#10000},34,8,34,8" +locations_default(#20825,#10000,34,8,34,8) +hasLocation(#20824,#20825) +#20826=* +tokeninfo(#20826,8,#20001,336,"...") +#20827=@"loc,{#10000},34,10,34,12" +locations_default(#20827,#10000,34,10,34,12) +hasLocation(#20826,#20827) +#20828=* +tokeninfo(#20828,6,#20001,337,"b") +#20829=@"loc,{#10000},34,13,34,13" +locations_default(#20829,#10000,34,13,34,13) +hasLocation(#20828,#20829) +#20830=* +tokeninfo(#20830,8,#20001,338,"}") +#20831=@"loc,{#10000},34,15,34,15" +locations_default(#20831,#10000,34,15,34,15) +hasLocation(#20830,#20831) +#20832=* +tokeninfo(#20832,8,#20001,339,")") +#20833=@"loc,{#10000},34,16,34,16" +locations_default(#20833,#10000,34,16,34,16) +hasLocation(#20832,#20833) +#20834=* +tokeninfo(#20834,8,#20001,340,";") +#20835=@"loc,{#10000},34,17,34,17" +locations_default(#20835,#10000,34,17,34,17) +hasLocation(#20834,#20835) +#20836=* +tokeninfo(#20836,8,#20001,341,"{") +hasLocation(#20836,#20073) +#20837=* +tokeninfo(#20837,7,#20001,342,"const") +#20838=@"loc,{#10000},37,3,37,7" +locations_default(#20838,#10000,37,3,37,7) +hasLocation(#20837,#20838) +#20839=* +tokeninfo(#20839,8,#20001,343,"{") +#20840=@"loc,{#10000},37,9,37,9" +locations_default(#20840,#10000,37,9,37,9) +hasLocation(#20839,#20840) +#20841=* +tokeninfo(#20841,6,#20001,344,"x") +#20842=@"loc,{#10000},37,10,37,10" +locations_default(#20842,#10000,37,10,37,10) +hasLocation(#20841,#20842) +#20843=* +tokeninfo(#20843,8,#20001,345,"=") +#20844=@"loc,{#10000},37,12,37,12" +locations_default(#20844,#10000,37,12,37,12) +hasLocation(#20843,#20844) +#20845=* +tokeninfo(#20845,8,#20001,346,"{") +#20846=@"loc,{#10000},37,14,37,14" +locations_default(#20846,#10000,37,14,37,14) +hasLocation(#20845,#20846) +#20847=* +tokeninfo(#20847,8,#20001,347,"...") +#20848=@"loc,{#10000},37,15,37,17" +locations_default(#20848,#10000,37,15,37,17) +hasLocation(#20847,#20848) +#20849=* +tokeninfo(#20849,6,#20001,348,"obj") +#20850=@"loc,{#10000},37,18,37,20" +locations_default(#20850,#10000,37,18,37,20) +hasLocation(#20849,#20850) +#20851=* +tokeninfo(#20851,8,#20001,349,",") +#20852=@"loc,{#10000},37,21,37,21" +locations_default(#20852,#10000,37,21,37,21) +hasLocation(#20851,#20852) +#20853=* +tokeninfo(#20853,6,#20001,350,"y") +#20854=@"loc,{#10000},37,23,37,23" +locations_default(#20854,#10000,37,23,37,23) +hasLocation(#20853,#20854) +#20855=* +tokeninfo(#20855,8,#20001,351,":") +#20856=@"loc,{#10000},37,24,37,24" +locations_default(#20856,#10000,37,24,37,24) +hasLocation(#20855,#20856) +#20857=* +tokeninfo(#20857,3,#20001,352,"1") +#20858=@"loc,{#10000},37,26,37,26" +locations_default(#20858,#10000,37,26,37,26) +hasLocation(#20857,#20858) +#20859=* +tokeninfo(#20859,8,#20001,353,"}") +#20860=@"loc,{#10000},37,27,37,27" +locations_default(#20860,#10000,37,27,37,27) +hasLocation(#20859,#20860) +#20861=* +tokeninfo(#20861,8,#20001,354,",") +#20862=@"loc,{#10000},37,28,37,28" +locations_default(#20862,#10000,37,28,37,28) +hasLocation(#20861,#20862) +#20863=* +tokeninfo(#20863,8,#20001,355,"...") +#20864=@"loc,{#10000},37,30,37,32" +locations_default(#20864,#10000,37,30,37,32) +hasLocation(#20863,#20864) +#20865=* +tokeninfo(#20865,6,#20001,356,"rest") +#20866=@"loc,{#10000},37,33,37,36" +locations_default(#20866,#10000,37,33,37,36) +hasLocation(#20865,#20866) +#20867=* +tokeninfo(#20867,8,#20001,357,"}") +#20868=@"loc,{#10000},37,37,37,37" +locations_default(#20868,#10000,37,37,37,37) +hasLocation(#20867,#20868) +#20869=* +tokeninfo(#20869,8,#20001,358,"=") +#20870=@"loc,{#10000},37,39,37,39" +locations_default(#20870,#10000,37,39,37,39) +hasLocation(#20869,#20870) +#20871=* +tokeninfo(#20871,6,#20001,359,"input") +#20872=@"loc,{#10000},37,41,37,45" +locations_default(#20872,#10000,37,41,37,45) +hasLocation(#20871,#20872) +#20873=* +tokeninfo(#20873,8,#20001,360,";") +#20874=@"loc,{#10000},37,46,37,46" +locations_default(#20874,#10000,37,46,37,46) +hasLocation(#20873,#20874) +#20875=* +tokeninfo(#20875,8,#20001,361,"}") +hasLocation(#20875,#20077) +#20876=* +tokeninfo(#20876,8,#20001,362,"(") +#20877=@"loc,{#10000},39,1,39,1" +locations_default(#20877,#10000,39,1,39,1) +hasLocation(#20876,#20877) +#20878=* +tokeninfo(#20878,8,#20001,363,"{") +#20879=@"loc,{#10000},39,2,39,2" +locations_default(#20879,#10000,39,2,39,2) +hasLocation(#20878,#20879) +#20880=* +tokeninfo(#20880,6,#20001,364,"x") +#20881=@"loc,{#10000},39,3,39,3" +locations_default(#20881,#10000,39,3,39,3) +hasLocation(#20880,#20881) +#20882=* +tokeninfo(#20882,8,#20001,365,"=") +#20883=@"loc,{#10000},39,5,39,5" +locations_default(#20883,#10000,39,5,39,5) +hasLocation(#20882,#20883) +#20884=* +tokeninfo(#20884,8,#20001,366,"{") +#20885=@"loc,{#10000},39,7,39,7" +locations_default(#20885,#10000,39,7,39,7) +hasLocation(#20884,#20885) +#20886=* +tokeninfo(#20886,8,#20001,367,"...") +#20887=@"loc,{#10000},39,8,39,10" +locations_default(#20887,#10000,39,8,39,10) +hasLocation(#20886,#20887) +#20888=* +tokeninfo(#20888,6,#20001,368,"obj") +#20889=@"loc,{#10000},39,11,39,13" +locations_default(#20889,#10000,39,11,39,13) +hasLocation(#20888,#20889) +#20890=* +tokeninfo(#20890,8,#20001,369,",") +#20891=@"loc,{#10000},39,14,39,14" +locations_default(#20891,#10000,39,14,39,14) +hasLocation(#20890,#20891) +#20892=* +tokeninfo(#20892,6,#20001,370,"y") +#20893=@"loc,{#10000},39,16,39,16" +locations_default(#20893,#10000,39,16,39,16) +hasLocation(#20892,#20893) +#20894=* +tokeninfo(#20894,8,#20001,371,":") +#20895=@"loc,{#10000},39,17,39,17" +locations_default(#20895,#10000,39,17,39,17) +hasLocation(#20894,#20895) +#20896=* +tokeninfo(#20896,3,#20001,372,"1") +#20897=@"loc,{#10000},39,19,39,19" +locations_default(#20897,#10000,39,19,39,19) +hasLocation(#20896,#20897) +#20898=* +tokeninfo(#20898,8,#20001,373,"}") +#20899=@"loc,{#10000},39,20,39,20" +locations_default(#20899,#10000,39,20,39,20) +hasLocation(#20898,#20899) +#20900=* +tokeninfo(#20900,8,#20001,374,",") +#20901=@"loc,{#10000},39,21,39,21" +locations_default(#20901,#10000,39,21,39,21) +hasLocation(#20900,#20901) +#20902=* +tokeninfo(#20902,8,#20001,375,"...") +#20903=@"loc,{#10000},39,23,39,25" +locations_default(#20903,#10000,39,23,39,25) +hasLocation(#20902,#20903) +#20904=* +tokeninfo(#20904,6,#20001,376,"rest") +#20905=@"loc,{#10000},39,26,39,29" +locations_default(#20905,#10000,39,26,39,29) +hasLocation(#20904,#20905) +#20906=* +tokeninfo(#20906,8,#20001,377,"}") +#20907=@"loc,{#10000},39,30,39,30" +locations_default(#20907,#10000,39,30,39,30) +hasLocation(#20906,#20907) +#20908=* +tokeninfo(#20908,8,#20001,378,")") +#20909=@"loc,{#10000},39,31,39,31" +locations_default(#20909,#10000,39,31,39,31) +hasLocation(#20908,#20909) +#20910=* +tokeninfo(#20910,8,#20001,379,"=>") +#20911=@"loc,{#10000},39,33,39,34" +locations_default(#20911,#10000,39,33,39,34) +hasLocation(#20910,#20911) +#20912=* +tokeninfo(#20912,6,#20001,380,"x") +#20913=@"loc,{#10000},39,36,39,36" +locations_default(#20913,#10000,39,36,39,36) +hasLocation(#20912,#20913) +#20914=* +tokeninfo(#20914,8,#20001,381,";") +#20915=@"loc,{#10000},39,37,39,37" +locations_default(#20915,#10000,39,37,39,37) +hasLocation(#20914,#20915) +#20916=* +tokeninfo(#20916,6,#20001,382,"async") +#20917=@"loc,{#10000},40,1,40,5" +locations_default(#20917,#10000,40,1,40,5) +hasLocation(#20916,#20917) +#20918=* +tokeninfo(#20918,8,#20001,383,"(") +#20919=@"loc,{#10000},40,7,40,7" +locations_default(#20919,#10000,40,7,40,7) +hasLocation(#20918,#20919) +#20920=* +tokeninfo(#20920,8,#20001,384,"{") +#20921=@"loc,{#10000},40,8,40,8" +locations_default(#20921,#10000,40,8,40,8) +hasLocation(#20920,#20921) +#20922=* +tokeninfo(#20922,6,#20001,385,"x") +#20923=@"loc,{#10000},40,9,40,9" +locations_default(#20923,#10000,40,9,40,9) +hasLocation(#20922,#20923) +#20924=* +tokeninfo(#20924,8,#20001,386,"=") +#20925=@"loc,{#10000},40,11,40,11" +locations_default(#20925,#10000,40,11,40,11) +hasLocation(#20924,#20925) +#20926=* +tokeninfo(#20926,8,#20001,387,"{") +#20927=@"loc,{#10000},40,13,40,13" +locations_default(#20927,#10000,40,13,40,13) +hasLocation(#20926,#20927) +#20928=* +tokeninfo(#20928,8,#20001,388,"...") +#20929=@"loc,{#10000},40,14,40,16" +locations_default(#20929,#10000,40,14,40,16) +hasLocation(#20928,#20929) +#20930=* +tokeninfo(#20930,6,#20001,389,"obj") +#20931=@"loc,{#10000},40,17,40,19" +locations_default(#20931,#10000,40,17,40,19) +hasLocation(#20930,#20931) +#20932=* +tokeninfo(#20932,8,#20001,390,",") +#20933=@"loc,{#10000},40,20,40,20" +locations_default(#20933,#10000,40,20,40,20) +hasLocation(#20932,#20933) +#20934=* +tokeninfo(#20934,6,#20001,391,"y") +#20935=@"loc,{#10000},40,22,40,22" +locations_default(#20935,#10000,40,22,40,22) +hasLocation(#20934,#20935) +#20936=* +tokeninfo(#20936,8,#20001,392,":") +#20937=@"loc,{#10000},40,23,40,23" +locations_default(#20937,#10000,40,23,40,23) +hasLocation(#20936,#20937) +#20938=* +tokeninfo(#20938,3,#20001,393,"1") +#20939=@"loc,{#10000},40,25,40,25" +locations_default(#20939,#10000,40,25,40,25) +hasLocation(#20938,#20939) +#20940=* +tokeninfo(#20940,8,#20001,394,"}") +#20941=@"loc,{#10000},40,26,40,26" +locations_default(#20941,#10000,40,26,40,26) +hasLocation(#20940,#20941) +#20942=* +tokeninfo(#20942,8,#20001,395,",") +#20943=@"loc,{#10000},40,27,40,27" +locations_default(#20943,#10000,40,27,40,27) +hasLocation(#20942,#20943) +#20944=* +tokeninfo(#20944,8,#20001,396,"...") +#20945=@"loc,{#10000},40,29,40,31" +locations_default(#20945,#10000,40,29,40,31) +hasLocation(#20944,#20945) +#20946=* +tokeninfo(#20946,6,#20001,397,"rest") +#20947=@"loc,{#10000},40,32,40,35" +locations_default(#20947,#10000,40,32,40,35) +hasLocation(#20946,#20947) +#20948=* +tokeninfo(#20948,8,#20001,398,"}") +#20949=@"loc,{#10000},40,36,40,36" +locations_default(#20949,#10000,40,36,40,36) +hasLocation(#20948,#20949) +#20950=* +tokeninfo(#20950,8,#20001,399,")") +#20951=@"loc,{#10000},40,37,40,37" +locations_default(#20951,#10000,40,37,40,37) +hasLocation(#20950,#20951) +#20952=* +tokeninfo(#20952,8,#20001,400,"=>") +#20953=@"loc,{#10000},40,39,40,40" +locations_default(#20953,#10000,40,39,40,40) +hasLocation(#20952,#20953) +#20954=* +tokeninfo(#20954,6,#20001,401,"x") +#20955=@"loc,{#10000},40,42,40,42" +locations_default(#20955,#10000,40,42,40,42) +hasLocation(#20954,#20955) +#20956=* +tokeninfo(#20956,8,#20001,402,";") +#20957=@"loc,{#10000},40,43,40,43" +locations_default(#20957,#10000,40,43,40,43) +hasLocation(#20956,#20957) +#20958=* +tokeninfo(#20958,8,#20001,403,"(") +#20959=@"loc,{#10000},41,1,41,1" +locations_default(#20959,#10000,41,1,41,1) +hasLocation(#20958,#20959) +#20960=* +tokeninfo(#20960,8,#20001,404,"[") +#20961=@"loc,{#10000},41,2,41,2" +locations_default(#20961,#10000,41,2,41,2) +hasLocation(#20960,#20961) +#20962=* +tokeninfo(#20962,6,#20001,405,"x") +#20963=@"loc,{#10000},41,3,41,3" +locations_default(#20963,#10000,41,3,41,3) +hasLocation(#20962,#20963) +#20964=* +tokeninfo(#20964,8,#20001,406,"=") +#20965=@"loc,{#10000},41,5,41,5" +locations_default(#20965,#10000,41,5,41,5) +hasLocation(#20964,#20965) +#20966=* +tokeninfo(#20966,8,#20001,407,"(") +#20967=@"loc,{#10000},41,7,41,7" +locations_default(#20967,#10000,41,7,41,7) +hasLocation(#20966,#20967) +#20968=* +tokeninfo(#20968,6,#20001,408,"value") +#20969=@"loc,{#10000},41,8,41,12" +locations_default(#20969,#10000,41,8,41,12) +hasLocation(#20968,#20969) +#20970=* +tokeninfo(#20970,8,#20001,409,")") +#20971=@"loc,{#10000},41,13,41,13" +locations_default(#20971,#10000,41,13,41,13) +hasLocation(#20970,#20971) +#20972=* +tokeninfo(#20972,8,#20001,410,",") +#20973=@"loc,{#10000},41,14,41,14" +locations_default(#20973,#10000,41,14,41,14) +hasLocation(#20972,#20973) +#20974=* +tokeninfo(#20974,8,#20001,411,"...") +#20975=@"loc,{#10000},41,16,41,18" +locations_default(#20975,#10000,41,16,41,18) +hasLocation(#20974,#20975) +#20976=* +tokeninfo(#20976,6,#20001,412,"rest") +#20977=@"loc,{#10000},41,19,41,22" +locations_default(#20977,#10000,41,19,41,22) +hasLocation(#20976,#20977) +#20978=* +tokeninfo(#20978,8,#20001,413,"]") +#20979=@"loc,{#10000},41,23,41,23" +locations_default(#20979,#10000,41,23,41,23) +hasLocation(#20978,#20979) +#20980=* +tokeninfo(#20980,8,#20001,414,"=") +#20981=@"loc,{#10000},41,25,41,25" +locations_default(#20981,#10000,41,25,41,25) +hasLocation(#20980,#20981) +#20982=* +tokeninfo(#20982,8,#20001,415,"[") +#20983=@"loc,{#10000},41,27,41,27" +locations_default(#20983,#10000,41,27,41,27) +hasLocation(#20982,#20983) +#20984=* +tokeninfo(#20984,8,#20001,416,"]") +#20985=@"loc,{#10000},41,28,41,28" +locations_default(#20985,#10000,41,28,41,28) +hasLocation(#20984,#20985) +#20986=* +tokeninfo(#20986,8,#20001,417,")") +#20987=@"loc,{#10000},41,29,41,29" +locations_default(#20987,#10000,41,29,41,29) +hasLocation(#20986,#20987) +#20988=* +tokeninfo(#20988,8,#20001,418,"=>") +#20989=@"loc,{#10000},41,31,41,32" +locations_default(#20989,#10000,41,31,41,32) +hasLocation(#20988,#20989) +#20990=* +tokeninfo(#20990,6,#20001,419,"x") +#20991=@"loc,{#10000},41,34,41,34" +locations_default(#20991,#10000,41,34,41,34) +hasLocation(#20990,#20991) +#20992=* +tokeninfo(#20992,8,#20001,420,";") +#20993=@"loc,{#10000},41,35,41,35" +locations_default(#20993,#10000,41,35,41,35) +hasLocation(#20992,#20993) +#20994=* +tokeninfo(#20994,6,#20001,421,"async") +#20995=@"loc,{#10000},42,1,42,5" +locations_default(#20995,#10000,42,1,42,5) +hasLocation(#20994,#20995) +#20996=* +tokeninfo(#20996,8,#20001,422,"(") +#20997=@"loc,{#10000},42,7,42,7" +locations_default(#20997,#10000,42,7,42,7) +hasLocation(#20996,#20997) +#20998=* +tokeninfo(#20998,8,#20001,423,"{") +#20999=@"loc,{#10000},42,8,42,8" +locations_default(#20999,#10000,42,8,42,8) +hasLocation(#20998,#20999) +#21000=* +tokeninfo(#21000,6,#20001,424,"x") +#21001=@"loc,{#10000},42,9,42,9" +locations_default(#21001,#10000,42,9,42,9) +hasLocation(#21000,#21001) +#21002=* +tokeninfo(#21002,8,#20001,425,"=") +#21003=@"loc,{#10000},42,11,42,11" +locations_default(#21003,#10000,42,11,42,11) +hasLocation(#21002,#21003) +#21004=* +tokeninfo(#21004,8,#20001,426,"(") +#21005=@"loc,{#10000},42,13,42,13" +locations_default(#21005,#10000,42,13,42,13) +hasLocation(#21004,#21005) +#21006=* +tokeninfo(#21006,6,#20001,427,"value") +#21007=@"loc,{#10000},42,14,42,18" +locations_default(#21007,#10000,42,14,42,18) +hasLocation(#21006,#21007) +#21008=* +tokeninfo(#21008,8,#20001,428,")") +#21009=@"loc,{#10000},42,19,42,19" +locations_default(#21009,#10000,42,19,42,19) +hasLocation(#21008,#21009) +#21010=* +tokeninfo(#21010,8,#20001,429,",") +#21011=@"loc,{#10000},42,20,42,20" +locations_default(#21011,#10000,42,20,42,20) +hasLocation(#21010,#21011) +#21012=* +tokeninfo(#21012,8,#20001,430,"...") +#21013=@"loc,{#10000},42,22,42,24" +locations_default(#21013,#10000,42,22,42,24) +hasLocation(#21012,#21013) +#21014=* +tokeninfo(#21014,6,#20001,431,"rest") +#21015=@"loc,{#10000},42,25,42,28" +locations_default(#21015,#10000,42,25,42,28) +hasLocation(#21014,#21015) +#21016=* +tokeninfo(#21016,8,#20001,432,"}") +#21017=@"loc,{#10000},42,29,42,29" +locations_default(#21017,#10000,42,29,42,29) +hasLocation(#21016,#21017) +#21018=* +tokeninfo(#21018,8,#20001,433,"=") +#21019=@"loc,{#10000},42,31,42,31" +locations_default(#21019,#10000,42,31,42,31) +hasLocation(#21018,#21019) +#21020=* +tokeninfo(#21020,8,#20001,434,"{") +#21021=@"loc,{#10000},42,33,42,33" +locations_default(#21021,#10000,42,33,42,33) +hasLocation(#21020,#21021) +#21022=* +tokeninfo(#21022,8,#20001,435,"}") +#21023=@"loc,{#10000},42,34,42,34" +locations_default(#21023,#10000,42,34,42,34) +hasLocation(#21022,#21023) +#21024=* +tokeninfo(#21024,8,#20001,436,")") +#21025=@"loc,{#10000},42,35,42,35" +locations_default(#21025,#10000,42,35,42,35) +hasLocation(#21024,#21025) +#21026=* +tokeninfo(#21026,8,#20001,437,"=>") +#21027=@"loc,{#10000},42,37,42,38" +locations_default(#21027,#10000,42,37,42,38) +hasLocation(#21026,#21027) +#21028=* +tokeninfo(#21028,6,#20001,438,"x") +#21029=@"loc,{#10000},42,40,42,40" +locations_default(#21029,#10000,42,40,42,40) +hasLocation(#21028,#21029) +#21030=* +tokeninfo(#21030,8,#20001,439,";") +#21031=@"loc,{#10000},42,41,42,41" +locations_default(#21031,#10000,42,41,42,41) +hasLocation(#21030,#21031) +#21032=* +tokeninfo(#21032,8,#20001,440,"(") +#21033=@"loc,{#10000},43,1,43,1" +locations_default(#21033,#10000,43,1,43,1) +hasLocation(#21032,#21033) +#21034=* +tokeninfo(#21034,8,#20001,441,"[") +#21035=@"loc,{#10000},43,2,43,2" +locations_default(#21035,#10000,43,2,43,2) +hasLocation(#21034,#21035) +#21036=* +tokeninfo(#21036,8,#20001,442,"{") +#21037=@"loc,{#10000},43,3,43,3" +locations_default(#21037,#10000,43,3,43,3) +hasLocation(#21036,#21037) +#21038=* +tokeninfo(#21038,8,#20001,443,"...") +#21039=@"loc,{#10000},43,4,43,6" +locations_default(#21039,#10000,43,4,43,6) +hasLocation(#21038,#21039) +#21040=* +tokeninfo(#21040,6,#20001,444,"obj") +#21041=@"loc,{#10000},43,7,43,9" +locations_default(#21041,#10000,43,7,43,9) +hasLocation(#21040,#21041) +#21042=* +tokeninfo(#21042,8,#20001,445,",") +#21043=@"loc,{#10000},43,10,43,10" +locations_default(#21043,#10000,43,10,43,10) +hasLocation(#21042,#21043) +#21044=* +tokeninfo(#21044,6,#20001,446,"x") +#21045=@"loc,{#10000},43,12,43,12" +locations_default(#21045,#10000,43,12,43,12) +hasLocation(#21044,#21045) +#21046=* +tokeninfo(#21046,8,#20001,447,":") +#21047=@"loc,{#10000},43,13,43,13" +locations_default(#21047,#10000,43,13,43,13) +hasLocation(#21046,#21047) +#21048=* +tokeninfo(#21048,3,#20001,448,"1") +#21049=@"loc,{#10000},43,15,43,15" +locations_default(#21049,#10000,43,15,43,15) +hasLocation(#21048,#21049) +#21050=* +tokeninfo(#21050,8,#20001,449,"}") +#21051=@"loc,{#10000},43,16,43,16" +locations_default(#21051,#10000,43,16,43,16) +hasLocation(#21050,#21051) +#21052=* +tokeninfo(#21052,8,#20001,450,".") +#21053=@"loc,{#10000},43,17,43,17" +locations_default(#21053,#10000,43,17,43,17) +hasLocation(#21052,#21053) +#21054=* +tokeninfo(#21054,6,#20001,451,"x") +#21055=@"loc,{#10000},43,18,43,18" +locations_default(#21055,#10000,43,18,43,18) +hasLocation(#21054,#21055) +#21056=* +tokeninfo(#21056,8,#20001,452,"]") +#21057=@"loc,{#10000},43,19,43,19" +locations_default(#21057,#10000,43,19,43,19) +hasLocation(#21056,#21057) +#21058=* +tokeninfo(#21058,8,#20001,453,"=") +#21059=@"loc,{#10000},43,21,43,21" +locations_default(#21059,#10000,43,21,43,21) +hasLocation(#21058,#21059) +#21060=* +tokeninfo(#21060,6,#20001,454,"items") +#21061=@"loc,{#10000},43,23,43,27" +locations_default(#21061,#10000,43,23,43,27) +hasLocation(#21060,#21061) +#21062=* +tokeninfo(#21062,8,#20001,455,")") +#21063=@"loc,{#10000},43,28,43,28" +locations_default(#21063,#10000,43,28,43,28) +hasLocation(#21062,#21063) +#21064=* +tokeninfo(#21064,8,#20001,456,";") +#21065=@"loc,{#10000},43,29,43,29" +locations_default(#21065,#10000,43,29,43,29) +hasLocation(#21064,#21065) +#21066=* +tokeninfo(#21066,8,#20001,457,"(") +#21067=@"loc,{#10000},44,1,44,1" +locations_default(#21067,#10000,44,1,44,1) +hasLocation(#21066,#21067) +#21068=* +tokeninfo(#21068,8,#20001,458,"[") +#21069=@"loc,{#10000},44,2,44,2" +locations_default(#21069,#10000,44,2,44,2) +hasLocation(#21068,#21069) +#21070=* +tokeninfo(#21070,8,#20001,459,"...") +#21071=@"loc,{#10000},44,3,44,5" +locations_default(#21071,#10000,44,3,44,5) +hasLocation(#21070,#21071) +#21072=* +tokeninfo(#21072,8,#20001,460,"(") +#21073=@"loc,{#10000},44,6,44,6" +locations_default(#21073,#10000,44,6,44,6) +hasLocation(#21072,#21073) +#21074=* +tokeninfo(#21074,8,#20001,461,"{") +#21075=@"loc,{#10000},44,7,44,7" +locations_default(#21075,#10000,44,7,44,7) +hasLocation(#21074,#21075) +#21076=* +tokeninfo(#21076,8,#20001,462,"...") +#21077=@"loc,{#10000},44,8,44,10" +locations_default(#21077,#10000,44,8,44,10) +hasLocation(#21076,#21077) +#21078=* +tokeninfo(#21078,6,#20001,463,"obj") +#21079=@"loc,{#10000},44,11,44,13" +locations_default(#21079,#10000,44,11,44,13) +hasLocation(#21078,#21079) +#21080=* +tokeninfo(#21080,8,#20001,464,",") +#21081=@"loc,{#10000},44,14,44,14" +locations_default(#21081,#10000,44,14,44,14) +hasLocation(#21080,#21081) +#21082=* +tokeninfo(#21082,6,#20001,465,"x") +#21083=@"loc,{#10000},44,16,44,16" +locations_default(#21083,#10000,44,16,44,16) +hasLocation(#21082,#21083) +#21084=* +tokeninfo(#21084,8,#20001,466,":") +#21085=@"loc,{#10000},44,17,44,17" +locations_default(#21085,#10000,44,17,44,17) +hasLocation(#21084,#21085) +#21086=* +tokeninfo(#21086,3,#20001,467,"1") +#21087=@"loc,{#10000},44,19,44,19" +locations_default(#21087,#10000,44,19,44,19) +hasLocation(#21086,#21087) +#21088=* +tokeninfo(#21088,8,#20001,468,"}") +#21089=@"loc,{#10000},44,20,44,20" +locations_default(#21089,#10000,44,20,44,20) +hasLocation(#21088,#21089) +#21090=* +tokeninfo(#21090,8,#20001,469,")") +#21091=@"loc,{#10000},44,21,44,21" +locations_default(#21091,#10000,44,21,44,21) +hasLocation(#21090,#21091) +#21092=* +tokeninfo(#21092,8,#20001,470,".") +#21093=@"loc,{#10000},44,22,44,22" +locations_default(#21093,#10000,44,22,44,22) +hasLocation(#21092,#21093) +#21094=* +tokeninfo(#21094,6,#20001,471,"x") +#21095=@"loc,{#10000},44,23,44,23" +locations_default(#21095,#10000,44,23,44,23) +hasLocation(#21094,#21095) +#21096=* +tokeninfo(#21096,8,#20001,472,"]") +#21097=@"loc,{#10000},44,24,44,24" +locations_default(#21097,#10000,44,24,44,24) +hasLocation(#21096,#21097) +#21098=* +tokeninfo(#21098,8,#20001,473,"=") +#21099=@"loc,{#10000},44,26,44,26" +locations_default(#21099,#10000,44,26,44,26) +hasLocation(#21098,#21099) +#21100=* +tokeninfo(#21100,6,#20001,474,"items") +#21101=@"loc,{#10000},44,28,44,32" +locations_default(#21101,#10000,44,28,44,32) +hasLocation(#21100,#21101) +#21102=* +tokeninfo(#21102,8,#20001,475,")") +#21103=@"loc,{#10000},44,33,44,33" +locations_default(#21103,#10000,44,33,44,33) +hasLocation(#21102,#21103) +#21104=* +tokeninfo(#21104,8,#20001,476,";") +#21105=@"loc,{#10000},44,34,44,34" +locations_default(#21105,#10000,44,34,44,34) +hasLocation(#21104,#21105) +#21106=* +tokeninfo(#21106,8,#20001,477,"(") +#21107=@"loc,{#10000},45,1,45,1" +locations_default(#21107,#10000,45,1,45,1) +hasLocation(#21106,#21107) +#21108=* +tokeninfo(#21108,8,#20001,478,"{") +#21109=@"loc,{#10000},45,2,45,2" +locations_default(#21109,#10000,45,2,45,2) +hasLocation(#21108,#21109) +#21110=* +tokeninfo(#21110,8,#20001,479,"[") +#21111=@"loc,{#10000},45,3,45,3" +locations_default(#21111,#10000,45,3,45,3) +hasLocation(#21110,#21111) +#21112=* +tokeninfo(#21112,8,#20001,480,"{") +#21113=@"loc,{#10000},45,4,45,4" +locations_default(#21113,#10000,45,4,45,4) +hasLocation(#21112,#21113) +#21114=* +tokeninfo(#21114,8,#20001,481,"...") +#21115=@"loc,{#10000},45,5,45,7" +locations_default(#21115,#10000,45,5,45,7) +hasLocation(#21114,#21115) +#21116=* +tokeninfo(#21116,6,#20001,482,"obj") +#21117=@"loc,{#10000},45,8,45,10" +locations_default(#21117,#10000,45,8,45,10) +hasLocation(#21116,#21117) +#21118=* +tokeninfo(#21118,8,#20001,483,",") +#21119=@"loc,{#10000},45,11,45,11" +locations_default(#21119,#10000,45,11,45,11) +hasLocation(#21118,#21119) +#21120=* +tokeninfo(#21120,6,#20001,484,"x") +#21121=@"loc,{#10000},45,13,45,13" +locations_default(#21121,#10000,45,13,45,13) +hasLocation(#21120,#21121) +#21122=* +tokeninfo(#21122,8,#20001,485,":") +#21123=@"loc,{#10000},45,14,45,14" +locations_default(#21123,#10000,45,14,45,14) +hasLocation(#21122,#21123) +#21124=* +tokeninfo(#21124,3,#20001,486,"1") +#21125=@"loc,{#10000},45,16,45,16" +locations_default(#21125,#10000,45,16,45,16) +hasLocation(#21124,#21125) +#21126=* +tokeninfo(#21126,8,#20001,487,"}") +#21127=@"loc,{#10000},45,17,45,17" +locations_default(#21127,#10000,45,17,45,17) +hasLocation(#21126,#21127) +#21128=* +tokeninfo(#21128,8,#20001,488,".") +#21129=@"loc,{#10000},45,18,45,18" +locations_default(#21129,#10000,45,18,45,18) +hasLocation(#21128,#21129) +#21130=* +tokeninfo(#21130,6,#20001,489,"x") +#21131=@"loc,{#10000},45,19,45,19" +locations_default(#21131,#10000,45,19,45,19) +hasLocation(#21130,#21131) +#21132=* +tokeninfo(#21132,8,#20001,490,"]") +#21133=@"loc,{#10000},45,20,45,20" +locations_default(#21133,#10000,45,20,45,20) +hasLocation(#21132,#21133) +#21134=* +tokeninfo(#21134,8,#20001,491,":") +#21135=@"loc,{#10000},45,21,45,21" +locations_default(#21135,#10000,45,21,45,21) +hasLocation(#21134,#21135) +#21136=* +tokeninfo(#21136,6,#20001,492,"value") +#21137=@"loc,{#10000},45,23,45,27" +locations_default(#21137,#10000,45,23,45,27) +hasLocation(#21136,#21137) +#21138=* +tokeninfo(#21138,8,#20001,493,",") +#21139=@"loc,{#10000},45,28,45,28" +locations_default(#21139,#10000,45,28,45,28) +hasLocation(#21138,#21139) +#21140=* +tokeninfo(#21140,8,#20001,494,"...") +#21141=@"loc,{#10000},45,30,45,32" +locations_default(#21141,#10000,45,30,45,32) +hasLocation(#21140,#21141) +#21142=* +tokeninfo(#21142,6,#20001,495,"rest") +#21143=@"loc,{#10000},45,33,45,36" +locations_default(#21143,#10000,45,33,45,36) +hasLocation(#21142,#21143) +#21144=* +tokeninfo(#21144,8,#20001,496,"}") +#21145=@"loc,{#10000},45,37,45,37" +locations_default(#21145,#10000,45,37,45,37) +hasLocation(#21144,#21145) +#21146=* +tokeninfo(#21146,8,#20001,497,"=") +#21147=@"loc,{#10000},45,39,45,39" +locations_default(#21147,#10000,45,39,45,39) +hasLocation(#21146,#21147) +#21148=* +tokeninfo(#21148,6,#20001,498,"input") +#21149=@"loc,{#10000},45,41,45,45" +locations_default(#21149,#10000,45,41,45,45) +hasLocation(#21148,#21149) +#21150=* +tokeninfo(#21150,8,#20001,499,")") +#21151=@"loc,{#10000},45,46,45,46" +locations_default(#21151,#10000,45,46,45,46) +hasLocation(#21150,#21151) +#21152=* +tokeninfo(#21152,8,#20001,500,";") +#21153=@"loc,{#10000},45,47,45,47" +locations_default(#21153,#10000,45,47,45,47) +hasLocation(#21152,#21153) +#21154=* +tokeninfo(#21154,6,#20001,501,"consume") +#21155=@"loc,{#10000},46,1,46,7" +locations_default(#21155,#10000,46,1,46,7) +hasLocation(#21154,#21155) +#21156=* +tokeninfo(#21156,8,#20001,502,"(") +#21157=@"loc,{#10000},46,8,46,8" +locations_default(#21157,#10000,46,8,46,8) +hasLocation(#21156,#21157) +#21158=* +tokeninfo(#21158,8,#20001,503,"{") +#21159=@"loc,{#10000},46,9,46,9" +locations_default(#21159,#10000,46,9,46,9) +hasLocation(#21158,#21159) +#21160=* +tokeninfo(#21160,8,#20001,504,"...") +#21161=@"loc,{#10000},46,10,46,12" +locations_default(#21161,#10000,46,10,46,12) +hasLocation(#21160,#21161) +#21162=* +tokeninfo(#21162,6,#20001,505,"obj") +#21163=@"loc,{#10000},46,13,46,15" +locations_default(#21163,#10000,46,13,46,15) +hasLocation(#21162,#21163) +#21164=* +tokeninfo(#21164,8,#20001,506,",") +#21165=@"loc,{#10000},46,16,46,16" +locations_default(#21165,#10000,46,16,46,16) +hasLocation(#21164,#21165) +#21166=* +tokeninfo(#21166,6,#20001,507,"x") +#21167=@"loc,{#10000},46,18,46,18" +locations_default(#21167,#10000,46,18,46,18) +hasLocation(#21166,#21167) +#21168=* +tokeninfo(#21168,8,#20001,508,":") +#21169=@"loc,{#10000},46,19,46,19" +locations_default(#21169,#10000,46,19,46,19) +hasLocation(#21168,#21169) +#21170=* +tokeninfo(#21170,3,#20001,509,"1") +#21171=@"loc,{#10000},46,21,46,21" +locations_default(#21171,#10000,46,21,46,21) +hasLocation(#21170,#21171) +#21172=* +tokeninfo(#21172,8,#20001,510,"}") +#21173=@"loc,{#10000},46,22,46,22" +locations_default(#21173,#10000,46,22,46,22) +hasLocation(#21172,#21173) +#21174=* +tokeninfo(#21174,8,#20001,511,")") +#21175=@"loc,{#10000},46,23,46,23" +locations_default(#21175,#10000,46,23,46,23) +hasLocation(#21174,#21175) +#21176=* +tokeninfo(#21176,8,#20001,512,";") +#21177=@"loc,{#10000},46,24,46,24" +locations_default(#21177,#10000,46,24,46,24) +hasLocation(#21176,#21177) +#21178=* +tokeninfo(#21178,8,#20001,513,"[") +#21179=@"loc,{#10000},48,1,48,1" +locations_default(#21179,#10000,48,1,48,1) +hasLocation(#21178,#21179) +#21180=* +tokeninfo(#21180,8,#20001,514,"...") +#21181=@"loc,{#10000},48,2,48,4" +locations_default(#21181,#10000,48,2,48,4) +hasLocation(#21180,#21181) +#21182=* +tokeninfo(#21182,6,#20001,515,"xs") +#21183=@"loc,{#10000},48,5,48,6" +locations_default(#21183,#10000,48,5,48,6) +hasLocation(#21182,#21183) +#21184=* +tokeninfo(#21184,8,#20001,516,",") +#21185=@"loc,{#10000},48,7,48,7" +locations_default(#21185,#10000,48,7,48,7) +hasLocation(#21184,#21185) +#21186=* +tokeninfo(#21186,6,#20001,517,"x") +#21187=@"loc,{#10000},48,9,48,9" +locations_default(#21187,#10000,48,9,48,9) +hasLocation(#21186,#21187) +#21188=* +tokeninfo(#21188,8,#20001,518,"=") +#21189=@"loc,{#10000},48,11,48,11" +locations_default(#21189,#10000,48,11,48,11) +hasLocation(#21188,#21189) +#21190=* +tokeninfo(#21190,3,#20001,519,"1") +#21191=@"loc,{#10000},48,13,48,13" +locations_default(#21191,#10000,48,13,48,13) +hasLocation(#21190,#21191) +#21192=* +tokeninfo(#21192,8,#20001,520,"]") +#21193=@"loc,{#10000},48,14,48,14" +locations_default(#21193,#10000,48,14,48,14) +hasLocation(#21192,#21193) +#21194=* +tokeninfo(#21194,8,#20001,521,";") +#21195=@"loc,{#10000},48,15,48,15" +locations_default(#21195,#10000,48,15,48,15) +hasLocation(#21194,#21195) +#21196=* +tokeninfo(#21196,6,#20001,522,"consume") +#21197=@"loc,{#10000},49,1,49,7" +locations_default(#21197,#10000,49,1,49,7) +hasLocation(#21196,#21197) +#21198=* +tokeninfo(#21198,8,#20001,523,"(") +#21199=@"loc,{#10000},49,8,49,8" +locations_default(#21199,#10000,49,8,49,8) +hasLocation(#21198,#21199) +#21200=* +tokeninfo(#21200,8,#20001,524,"...") +#21201=@"loc,{#10000},49,9,49,11" +locations_default(#21201,#10000,49,9,49,11) +hasLocation(#21200,#21201) +#21202=* +tokeninfo(#21202,6,#20001,525,"xs") +#21203=@"loc,{#10000},49,12,49,13" +locations_default(#21203,#10000,49,12,49,13) +hasLocation(#21202,#21203) +#21204=* +tokeninfo(#21204,8,#20001,526,",") +#21205=@"loc,{#10000},49,14,49,14" +locations_default(#21205,#10000,49,14,49,14) +hasLocation(#21204,#21205) +#21206=* +tokeninfo(#21206,6,#20001,527,"x") +#21207=@"loc,{#10000},49,16,49,16" +locations_default(#21207,#10000,49,16,49,16) +hasLocation(#21206,#21207) +#21208=* +tokeninfo(#21208,8,#20001,528,"=") +#21209=@"loc,{#10000},49,18,49,18" +locations_default(#21209,#10000,49,18,49,18) +hasLocation(#21208,#21209) +#21210=* +tokeninfo(#21210,3,#20001,529,"1") +#21211=@"loc,{#10000},49,20,49,20" +locations_default(#21211,#10000,49,20,49,20) +hasLocation(#21210,#21211) +#21212=* +tokeninfo(#21212,8,#20001,530,")") +#21213=@"loc,{#10000},49,21,49,21" +locations_default(#21213,#10000,49,21,49,21) +hasLocation(#21212,#21213) +#21214=* +tokeninfo(#21214,8,#20001,531,";") +#21215=@"loc,{#10000},49,22,49,22" +locations_default(#21215,#10000,49,22,49,22) +hasLocation(#21214,#21215) +#21216=* +tokeninfo(#21216,6,#20001,532,"async") +#21217=@"loc,{#10000},50,1,50,5" +locations_default(#21217,#10000,50,1,50,5) +hasLocation(#21216,#21217) +#21218=* +tokeninfo(#21218,8,#20001,533,"(") +#21219=@"loc,{#10000},50,7,50,7" +locations_default(#21219,#10000,50,7,50,7) +hasLocation(#21218,#21219) +#21220=* +tokeninfo(#21220,8,#20001,534,"...") +#21221=@"loc,{#10000},50,8,50,10" +locations_default(#21221,#10000,50,8,50,10) +hasLocation(#21220,#21221) +#21222=* +tokeninfo(#21222,6,#20001,535,"xs") +#21223=@"loc,{#10000},50,11,50,12" +locations_default(#21223,#10000,50,11,50,12) +hasLocation(#21222,#21223) +#21224=* +tokeninfo(#21224,8,#20001,536,",") +#21225=@"loc,{#10000},50,13,50,13" +locations_default(#21225,#10000,50,13,50,13) +hasLocation(#21224,#21225) +#21226=* +tokeninfo(#21226,6,#20001,537,"x") +#21227=@"loc,{#10000},50,15,50,15" +locations_default(#21227,#10000,50,15,50,15) +hasLocation(#21226,#21227) +#21228=* +tokeninfo(#21228,8,#20001,538,"=") +#21229=@"loc,{#10000},50,17,50,17" +locations_default(#21229,#10000,50,17,50,17) +hasLocation(#21228,#21229) +#21230=* +tokeninfo(#21230,3,#20001,539,"1") +#21231=@"loc,{#10000},50,19,50,19" +locations_default(#21231,#10000,50,19,50,19) +hasLocation(#21230,#21231) +#21232=* +tokeninfo(#21232,8,#20001,540,")") +#21233=@"loc,{#10000},50,20,50,20" +locations_default(#21233,#10000,50,20,50,20) +hasLocation(#21232,#21233) +#21234=* +tokeninfo(#21234,8,#20001,541,";") +#21235=@"loc,{#10000},50,21,50,21" +locations_default(#21235,#10000,50,21,50,21) +hasLocation(#21234,#21235) +#21236=* +tokeninfo(#21236,8,#20001,542,"(") +#21237=@"loc,{#10000},51,1,51,1" +locations_default(#21237,#10000,51,1,51,1) +hasLocation(#21236,#21237) +#21238=* +tokeninfo(#21238,8,#20001,543,"{") +#21239=@"loc,{#10000},51,2,51,2" +locations_default(#21239,#10000,51,2,51,2) +hasLocation(#21238,#21239) +#21240=* +tokeninfo(#21240,8,#20001,544,"...") +#21241=@"loc,{#10000},51,3,51,5" +locations_default(#21241,#10000,51,3,51,5) +hasLocation(#21240,#21241) +#21242=* +tokeninfo(#21242,6,#20001,545,"rest") +#21243=@"loc,{#10000},51,6,51,9" +locations_default(#21243,#10000,51,6,51,9) +hasLocation(#21242,#21243) +#21244=* +tokeninfo(#21244,8,#20001,546,",") +#21245=@"loc,{#10000},51,10,51,10" +locations_default(#21245,#10000,51,10,51,10) +hasLocation(#21244,#21245) +#21246=* +tokeninfo(#21246,6,#20001,547,"x") +#21247=@"loc,{#10000},51,12,51,12" +locations_default(#21247,#10000,51,12,51,12) +hasLocation(#21246,#21247) +#21248=* +tokeninfo(#21248,8,#20001,548,":") +#21249=@"loc,{#10000},51,13,51,13" +locations_default(#21249,#10000,51,13,51,13) +hasLocation(#21248,#21249) +#21250=* +tokeninfo(#21250,6,#20001,549,"value") +#21251=@"loc,{#10000},51,15,51,19" +locations_default(#21251,#10000,51,15,51,19) +hasLocation(#21250,#21251) +#21252=* +tokeninfo(#21252,8,#20001,550,"=") +#21253=@"loc,{#10000},51,21,51,21" +locations_default(#21253,#10000,51,21,51,21) +hasLocation(#21252,#21253) +#21254=* +tokeninfo(#21254,3,#20001,551,"1") +#21255=@"loc,{#10000},51,23,51,23" +locations_default(#21255,#10000,51,23,51,23) +hasLocation(#21254,#21255) +#21256=* +tokeninfo(#21256,8,#20001,552,"}") +#21257=@"loc,{#10000},51,24,51,24" +locations_default(#21257,#10000,51,24,51,24) +hasLocation(#21256,#21257) +#21258=* +tokeninfo(#21258,8,#20001,553,")") +#21259=@"loc,{#10000},51,25,51,25" +locations_default(#21259,#10000,51,25,51,25) +hasLocation(#21258,#21259) +#21260=* +tokeninfo(#21260,8,#20001,554,";") +#21261=@"loc,{#10000},51,26,51,26" +locations_default(#21261,#10000,51,26,51,26) +hasLocation(#21260,#21261) +#21262=* +tokeninfo(#21262,8,#20001,555,"(") +#21263=@"loc,{#10000},52,1,52,1" +locations_default(#21263,#10000,52,1,52,1) +hasLocation(#21262,#21263) +#21264=* +tokeninfo(#21264,8,#20001,556,"{") +#21265=@"loc,{#10000},52,2,52,2" +locations_default(#21265,#10000,52,2,52,2) +hasLocation(#21264,#21265) +#21266=* +tokeninfo(#21266,6,#20001,557,"x") +#21267=@"loc,{#10000},52,3,52,3" +locations_default(#21267,#10000,52,3,52,3) +hasLocation(#21266,#21267) +#21268=* +tokeninfo(#21268,8,#20001,558,"=") +#21269=@"loc,{#10000},52,5,52,5" +locations_default(#21269,#10000,52,5,52,5) +hasLocation(#21268,#21269) +#21270=* +tokeninfo(#21270,3,#20001,559,"1") +#21271=@"loc,{#10000},52,7,52,7" +locations_default(#21271,#10000,52,7,52,7) +hasLocation(#21270,#21271) +#21272=* +tokeninfo(#21272,8,#20001,560,",") +#21273=@"loc,{#10000},52,8,52,8" +locations_default(#21273,#10000,52,8,52,8) +hasLocation(#21272,#21273) +#21274=* +tokeninfo(#21274,6,#20001,561,"y") +#21275=@"loc,{#10000},52,10,52,10" +locations_default(#21275,#10000,52,10,52,10) +hasLocation(#21274,#21275) +#21276=* +tokeninfo(#21276,8,#20001,562,":") +#21277=@"loc,{#10000},52,11,52,11" +locations_default(#21277,#10000,52,11,52,11) +hasLocation(#21276,#21277) +#21278=* +tokeninfo(#21278,6,#20001,563,"value") +#21279=@"loc,{#10000},52,13,52,17" +locations_default(#21279,#10000,52,13,52,17) +hasLocation(#21278,#21279) +#21280=* +tokeninfo(#21280,8,#20001,564,"=") +#21281=@"loc,{#10000},52,19,52,19" +locations_default(#21281,#10000,52,19,52,19) +hasLocation(#21280,#21281) +#21282=* +tokeninfo(#21282,3,#20001,565,"0") +#21283=@"loc,{#10000},52,21,52,21" +locations_default(#21283,#10000,52,21,52,21) +hasLocation(#21282,#21283) +#21284=* +tokeninfo(#21284,8,#20001,566,"}") +#21285=@"loc,{#10000},52,22,52,22" +locations_default(#21285,#10000,52,22,52,22) +hasLocation(#21284,#21285) +#21286=* +tokeninfo(#21286,8,#20001,567,"=") +#21287=@"loc,{#10000},52,24,52,24" +locations_default(#21287,#10000,52,24,52,24) +hasLocation(#21286,#21287) +#21288=* +tokeninfo(#21288,6,#20001,568,"input") +#21289=@"loc,{#10000},52,26,52,30" +locations_default(#21289,#10000,52,26,52,30) +hasLocation(#21288,#21289) +#21290=* +tokeninfo(#21290,8,#20001,569,")") +#21291=@"loc,{#10000},52,31,52,31" +locations_default(#21291,#10000,52,31,52,31) +hasLocation(#21290,#21291) +#21292=* +tokeninfo(#21292,8,#20001,570,";") +#21293=@"loc,{#10000},52,32,52,32" +locations_default(#21293,#10000,52,32,52,32) +hasLocation(#21292,#21293) +#21294=* +tokeninfo(#21294,8,#20001,571,"(") +#21295=@"loc,{#10000},53,1,53,1" +locations_default(#21295,#10000,53,1,53,1) +hasLocation(#21294,#21295) +#21296=* +tokeninfo(#21296,8,#20001,572,"{") +#21297=@"loc,{#10000},53,2,53,2" +locations_default(#21297,#10000,53,2,53,2) +hasLocation(#21296,#21297) +#21298=* +tokeninfo(#21298,6,#20001,573,"x") +#21299=@"loc,{#10000},53,3,53,3" +locations_default(#21299,#10000,53,3,53,3) +hasLocation(#21298,#21299) +#21300=* +tokeninfo(#21300,8,#20001,574,"=") +#21301=@"loc,{#10000},53,5,53,5" +locations_default(#21301,#10000,53,5,53,5) +hasLocation(#21300,#21301) +#21302=* +tokeninfo(#21302,3,#20001,575,"1") +#21303=@"loc,{#10000},53,7,53,7" +locations_default(#21303,#10000,53,7,53,7) +hasLocation(#21302,#21303) +#21304=* +tokeninfo(#21304,8,#20001,576,",") +#21305=@"loc,{#10000},53,8,53,8" +locations_default(#21305,#10000,53,8,53,8) +hasLocation(#21304,#21305) +#21306=* +tokeninfo(#21306,6,#20001,577,"y") +#21307=@"loc,{#10000},53,10,53,10" +locations_default(#21307,#10000,53,10,53,10) +hasLocation(#21306,#21307) +#21308=* +tokeninfo(#21308,8,#20001,578,":") +#21309=@"loc,{#10000},53,11,53,11" +locations_default(#21309,#10000,53,11,53,11) +hasLocation(#21308,#21309) +#21310=* +tokeninfo(#21310,6,#20001,579,"value") +#21311=@"loc,{#10000},53,13,53,17" +locations_default(#21311,#10000,53,13,53,17) +hasLocation(#21310,#21311) +#21312=* +tokeninfo(#21312,8,#20001,580,"=") +#21313=@"loc,{#10000},53,19,53,19" +locations_default(#21313,#10000,53,19,53,19) +hasLocation(#21312,#21313) +#21314=* +tokeninfo(#21314,3,#20001,581,"0") +#21315=@"loc,{#10000},53,21,53,21" +locations_default(#21315,#10000,53,21,53,21) +hasLocation(#21314,#21315) +#21316=* +tokeninfo(#21316,8,#20001,582,"}") +#21317=@"loc,{#10000},53,22,53,22" +locations_default(#21317,#10000,53,22,53,22) +hasLocation(#21316,#21317) +#21318=* +tokeninfo(#21318,8,#20001,583,")") +#21319=@"loc,{#10000},53,23,53,23" +locations_default(#21319,#10000,53,23,53,23) +hasLocation(#21318,#21319) +#21320=* +tokeninfo(#21320,8,#20001,584,"=>") +#21321=@"loc,{#10000},53,25,53,26" +locations_default(#21321,#10000,53,25,53,26) +hasLocation(#21320,#21321) +#21322=* +tokeninfo(#21322,6,#20001,585,"x") +#21323=@"loc,{#10000},53,28,53,28" +locations_default(#21323,#10000,53,28,53,28) +hasLocation(#21322,#21323) +#21324=* +tokeninfo(#21324,8,#20001,586,";") +#21325=@"loc,{#10000},53,29,53,29" +locations_default(#21325,#10000,53,29,53,29) +hasLocation(#21324,#21325) +#21326=* +tokeninfo(#21326,8,#20001,587,"(") +#21327=@"loc,{#10000},54,1,54,1" +locations_default(#21327,#10000,54,1,54,1) +hasLocation(#21326,#21327) +#21328=* +tokeninfo(#21328,8,#20001,588,"[") +#21329=@"loc,{#10000},54,2,54,2" +locations_default(#21329,#10000,54,2,54,2) +hasLocation(#21328,#21329) +#21330=* +tokeninfo(#21330,8,#20001,589,"{") +#21331=@"loc,{#10000},54,3,54,3" +locations_default(#21331,#10000,54,3,54,3) +hasLocation(#21330,#21331) +#21332=* +tokeninfo(#21332,8,#20001,590,"...") +#21333=@"loc,{#10000},54,4,54,6" +locations_default(#21333,#10000,54,4,54,6) +hasLocation(#21332,#21333) +#21334=* +tokeninfo(#21334,6,#20001,591,"rest") +#21335=@"loc,{#10000},54,7,54,10" +locations_default(#21335,#10000,54,7,54,10) +hasLocation(#21334,#21335) +#21336=* +tokeninfo(#21336,8,#20001,592,",") +#21337=@"loc,{#10000},54,11,54,11" +locations_default(#21337,#10000,54,11,54,11) +hasLocation(#21336,#21337) +#21338=* +tokeninfo(#21338,8,#20001,593,"}") +#21339=@"loc,{#10000},54,12,54,12" +locations_default(#21339,#10000,54,12,54,12) +hasLocation(#21338,#21339) +#21340=* +tokeninfo(#21340,8,#20001,594,".") +#21341=@"loc,{#10000},54,13,54,13" +locations_default(#21341,#10000,54,13,54,13) +hasLocation(#21340,#21341) +#21342=* +tokeninfo(#21342,6,#20001,595,"x") +#21343=@"loc,{#10000},54,14,54,14" +locations_default(#21343,#10000,54,14,54,14) +hasLocation(#21342,#21343) +#21344=* +tokeninfo(#21344,8,#20001,596,",") +#21345=@"loc,{#10000},54,15,54,15" +locations_default(#21345,#10000,54,15,54,15) +hasLocation(#21344,#21345) +#21346=* +tokeninfo(#21346,6,#20001,597,"value") +#21347=@"loc,{#10000},54,17,54,21" +locations_default(#21347,#10000,54,17,54,21) +hasLocation(#21346,#21347) +#21348=* +tokeninfo(#21348,8,#20001,598,"=") +#21349=@"loc,{#10000},54,23,54,23" +locations_default(#21349,#10000,54,23,54,23) +hasLocation(#21348,#21349) +#21350=* +tokeninfo(#21350,3,#20001,599,"1") +#21351=@"loc,{#10000},54,25,54,25" +locations_default(#21351,#10000,54,25,54,25) +hasLocation(#21350,#21351) +#21352=* +tokeninfo(#21352,8,#20001,600,"]") +#21353=@"loc,{#10000},54,26,54,26" +locations_default(#21353,#10000,54,26,54,26) +hasLocation(#21352,#21353) +#21354=* +tokeninfo(#21354,8,#20001,601,"=") +#21355=@"loc,{#10000},54,28,54,28" +locations_default(#21355,#10000,54,28,54,28) +hasLocation(#21354,#21355) +#21356=* +tokeninfo(#21356,6,#20001,602,"items") +#21357=@"loc,{#10000},54,30,54,34" +locations_default(#21357,#10000,54,30,54,34) +hasLocation(#21356,#21357) +#21358=* +tokeninfo(#21358,8,#20001,603,")") +#21359=@"loc,{#10000},54,35,54,35" +locations_default(#21359,#10000,54,35,54,35) +hasLocation(#21358,#21359) +#21360=* +tokeninfo(#21360,8,#20001,604,";") +#21361=@"loc,{#10000},54,36,54,36" +locations_default(#21361,#10000,54,36,54,36) +hasLocation(#21360,#21361) +#21362=* +tokeninfo(#21362,3,#20001,605,"1") +#21363=@"loc,{#10000},56,1,56,1" +locations_default(#21363,#10000,56,1,56,1) +hasLocation(#21362,#21363) +#21364=* +tokeninfo(#21364,8,#20001,606,"+") +#21365=@"loc,{#10000},56,3,56,3" +locations_default(#21365,#10000,56,3,56,3) +hasLocation(#21364,#21365) +#21366=* +tokeninfo(#21366,8,#20001,607,"{") +#21367=@"loc,{#10000},56,5,56,5" +locations_default(#21367,#10000,56,5,56,5) +hasLocation(#21366,#21367) +#21368=* +tokeninfo(#21368,8,#20001,608,"...") +#21369=@"loc,{#10000},56,6,56,8" +locations_default(#21369,#10000,56,6,56,8) +hasLocation(#21368,#21369) +#21370=* +tokeninfo(#21370,6,#20001,609,"obj") +#21371=@"loc,{#10000},56,9,56,11" +locations_default(#21371,#10000,56,9,56,11) +hasLocation(#21370,#21371) +#21372=* +tokeninfo(#21372,8,#20001,610,",") +#21373=@"loc,{#10000},56,12,56,12" +locations_default(#21373,#10000,56,12,56,12) +hasLocation(#21372,#21373) +#21374=* +tokeninfo(#21374,8,#20001,611,"}") +#21375=@"loc,{#10000},56,13,56,13" +locations_default(#21375,#10000,56,13,56,13) +hasLocation(#21374,#21375) +#21376=* +tokeninfo(#21376,8,#20001,612,";") +#21377=@"loc,{#10000},56,14,56,14" +locations_default(#21377,#10000,56,14,56,14) +hasLocation(#21376,#21377) +#21378=* +tokeninfo(#21378,8,#20001,613,"!") +#21379=@"loc,{#10000},57,1,57,1" +locations_default(#21379,#10000,57,1,57,1) +hasLocation(#21378,#21379) +#21380=* +tokeninfo(#21380,8,#20001,614,"{") +#21381=@"loc,{#10000},57,2,57,2" +locations_default(#21381,#10000,57,2,57,2) +hasLocation(#21380,#21381) +#21382=* +tokeninfo(#21382,8,#20001,615,"...") +#21383=@"loc,{#10000},57,3,57,5" +locations_default(#21383,#10000,57,3,57,5) +hasLocation(#21382,#21383) +#21384=* +tokeninfo(#21384,6,#20001,616,"obj") +#21385=@"loc,{#10000},57,6,57,8" +locations_default(#21385,#10000,57,6,57,8) +hasLocation(#21384,#21385) +#21386=* +tokeninfo(#21386,8,#20001,617,",") +#21387=@"loc,{#10000},57,9,57,9" +locations_default(#21387,#10000,57,9,57,9) +hasLocation(#21386,#21387) +#21388=* +tokeninfo(#21388,8,#20001,618,"}") +#21389=@"loc,{#10000},57,10,57,10" +locations_default(#21389,#10000,57,10,57,10) +hasLocation(#21388,#21389) +#21390=* +tokeninfo(#21390,8,#20001,619,";") +#21391=@"loc,{#10000},57,11,57,11" +locations_default(#21391,#10000,57,11,57,11) +hasLocation(#21390,#21391) +#21392=* +tokeninfo(#21392,8,#20001,620,"(") +#21393=@"loc,{#10000},58,1,58,1" +locations_default(#21393,#10000,58,1,58,1) +hasLocation(#21392,#21393) +#21394=* +tokeninfo(#21394,8,#20001,621,"{") +#21395=@"loc,{#10000},58,2,58,2" +locations_default(#21395,#10000,58,2,58,2) +hasLocation(#21394,#21395) +#21396=* +tokeninfo(#21396,8,#20001,622,"...") +#21397=@"loc,{#10000},58,3,58,5" +locations_default(#21397,#10000,58,3,58,5) +hasLocation(#21396,#21397) +#21398=* +tokeninfo(#21398,6,#20001,623,"obj") +#21399=@"loc,{#10000},58,6,58,8" +locations_default(#21399,#10000,58,6,58,8) +hasLocation(#21398,#21399) +#21400=* +tokeninfo(#21400,8,#20001,624,",") +#21401=@"loc,{#10000},58,9,58,9" +locations_default(#21401,#10000,58,9,58,9) +hasLocation(#21400,#21401) +#21402=* +tokeninfo(#21402,8,#20001,625,"}") +#21403=@"loc,{#10000},58,10,58,10" +locations_default(#21403,#10000,58,10,58,10) +hasLocation(#21402,#21403) +#21404=* +tokeninfo(#21404,8,#20001,626,"?") +#21405=@"loc,{#10000},58,12,58,12" +locations_default(#21405,#10000,58,12,58,12) +hasLocation(#21404,#21405) +#21406=* +tokeninfo(#21406,6,#20001,627,"x") +#21407=@"loc,{#10000},58,14,58,14" +locations_default(#21407,#10000,58,14,58,14) +hasLocation(#21406,#21407) +#21408=* +tokeninfo(#21408,8,#20001,628,":") +#21409=@"loc,{#10000},58,16,58,16" +locations_default(#21409,#10000,58,16,58,16) +hasLocation(#21408,#21409) +#21410=* +tokeninfo(#21410,6,#20001,629,"y") +#21411=@"loc,{#10000},58,18,58,18" +locations_default(#21411,#10000,58,18,58,18) +hasLocation(#21410,#21411) +#21412=* +tokeninfo(#21412,8,#20001,630,")") +#21413=@"loc,{#10000},58,19,58,19" +locations_default(#21413,#10000,58,19,58,19) +hasLocation(#21412,#21413) +#21414=* +tokeninfo(#21414,8,#20001,631,";") +#21415=@"loc,{#10000},58,20,58,20" +locations_default(#21415,#10000,58,20,58,20) +hasLocation(#21414,#21415) +#21416=* +tokeninfo(#21416,8,#20001,632,"(") +#21417=@"loc,{#10000},59,1,59,1" +locations_default(#21417,#10000,59,1,59,1) +hasLocation(#21416,#21417) +#21418=* +tokeninfo(#21418,8,#20001,633,"{") +#21419=@"loc,{#10000},59,2,59,2" +locations_default(#21419,#10000,59,2,59,2) +hasLocation(#21418,#21419) +#21420=* +tokeninfo(#21420,8,#20001,634,"...") +#21421=@"loc,{#10000},59,3,59,5" +locations_default(#21421,#10000,59,3,59,5) +hasLocation(#21420,#21421) +#21422=* +tokeninfo(#21422,6,#20001,635,"obj") +#21423=@"loc,{#10000},59,6,59,8" +locations_default(#21423,#10000,59,6,59,8) +hasLocation(#21422,#21423) +#21424=* +tokeninfo(#21424,8,#20001,636,",") +#21425=@"loc,{#10000},59,9,59,9" +locations_default(#21425,#10000,59,9,59,9) +hasLocation(#21424,#21425) +#21426=* +tokeninfo(#21426,8,#20001,637,"}") +#21427=@"loc,{#10000},59,10,59,10" +locations_default(#21427,#10000,59,10,59,10) +hasLocation(#21426,#21427) +#21428=* +tokeninfo(#21428,8,#20001,638,",") +#21429=@"loc,{#10000},59,11,59,11" +locations_default(#21429,#10000,59,11,59,11) +hasLocation(#21428,#21429) +#21430=* +tokeninfo(#21430,6,#20001,639,"x") +#21431=@"loc,{#10000},59,13,59,13" +locations_default(#21431,#10000,59,13,59,13) +hasLocation(#21430,#21431) +#21432=* +tokeninfo(#21432,8,#20001,640,"=") +#21433=@"loc,{#10000},59,15,59,15" +locations_default(#21433,#10000,59,15,59,15) +hasLocation(#21432,#21433) +#21434=* +tokeninfo(#21434,3,#20001,641,"1") +#21435=@"loc,{#10000},59,17,59,17" +locations_default(#21435,#10000,59,17,59,17) +hasLocation(#21434,#21435) +#21436=* +tokeninfo(#21436,8,#20001,642,")") +#21437=@"loc,{#10000},59,18,59,18" +locations_default(#21437,#10000,59,18,59,18) +hasLocation(#21436,#21437) +#21438=* +tokeninfo(#21438,8,#20001,643,";") +#21439=@"loc,{#10000},59,19,59,19" +locations_default(#21439,#10000,59,19,59,19) +hasLocation(#21438,#21439) +#21440=* +tokeninfo(#21440,7,#20001,644,"for") +#21441=@"loc,{#10000},60,1,60,3" +locations_default(#21441,#10000,60,1,60,3) +hasLocation(#21440,#21441) +#21442=* +tokeninfo(#21442,8,#20001,645,"(") +#21443=@"loc,{#10000},60,5,60,5" +locations_default(#21443,#10000,60,5,60,5) +hasLocation(#21442,#21443) +#21444=* +tokeninfo(#21444,8,#20001,646,"{") +#21445=@"loc,{#10000},60,6,60,6" +locations_default(#21445,#10000,60,6,60,6) +hasLocation(#21444,#21445) +#21446=* +tokeninfo(#21446,8,#20001,647,"...") +#21447=@"loc,{#10000},60,7,60,9" +locations_default(#21447,#10000,60,7,60,9) +hasLocation(#21446,#21447) +#21448=* +tokeninfo(#21448,6,#20001,648,"rest") +#21449=@"loc,{#10000},60,10,60,13" +locations_default(#21449,#10000,60,10,60,13) +hasLocation(#21448,#21449) +#21450=* +tokeninfo(#21450,8,#20001,649,",") +#21451=@"loc,{#10000},60,14,60,14" +locations_default(#21451,#10000,60,14,60,14) +hasLocation(#21450,#21451) +#21452=* +tokeninfo(#21452,8,#20001,650,"}") +#21453=@"loc,{#10000},60,15,60,15" +locations_default(#21453,#10000,60,15,60,15) +hasLocation(#21452,#21453) +#21454=* +tokeninfo(#21454,8,#20001,651,".") +#21455=@"loc,{#10000},60,16,60,16" +locations_default(#21455,#10000,60,16,60,16) +hasLocation(#21454,#21455) +#21456=* +tokeninfo(#21456,6,#20001,652,"x") +#21457=@"loc,{#10000},60,17,60,17" +locations_default(#21457,#10000,60,17,60,17) +hasLocation(#21456,#21457) +#21458=* +tokeninfo(#21458,6,#20001,653,"of") +#21459=@"loc,{#10000},60,19,60,20" +locations_default(#21459,#10000,60,19,60,20) +hasLocation(#21458,#21459) +#21460=* +tokeninfo(#21460,6,#20001,654,"items") +#21461=@"loc,{#10000},60,22,60,26" +locations_default(#21461,#10000,60,22,60,26) +hasLocation(#21460,#21461) +#21462=* +tokeninfo(#21462,8,#20001,655,")") +#21463=@"loc,{#10000},60,27,60,27" +locations_default(#21463,#10000,60,27,60,27) +hasLocation(#21462,#21463) +#21464=* +tokeninfo(#21464,8,#20001,656,"{") +#21465=@"loc,{#10000},60,29,60,29" +locations_default(#21465,#10000,60,29,60,29) +hasLocation(#21464,#21465) +#21466=* +tokeninfo(#21466,8,#20001,657,"}") +#21467=@"loc,{#10000},60,30,60,30" +locations_default(#21467,#10000,60,30,60,30) +hasLocation(#21466,#21467) +#21468=* +tokeninfo(#21468,8,#20001,658,"(") +#21469=@"loc,{#10000},62,1,62,1" +locations_default(#21469,#10000,62,1,62,1) +hasLocation(#21468,#21469) +#21470=* +tokeninfo(#21470,6,#20001,659,"x") +#21471=@"loc,{#10000},62,2,62,2" +locations_default(#21471,#10000,62,2,62,2) +hasLocation(#21470,#21471) +#21472=* +tokeninfo(#21472,8,#20001,660,")") +#21473=@"loc,{#10000},62,3,62,3" +locations_default(#21473,#10000,62,3,62,3) +hasLocation(#21472,#21473) +#21474=* +tokeninfo(#21474,8,#20001,661,"=") +#21475=@"loc,{#10000},62,5,62,5" +locations_default(#21475,#10000,62,5,62,5) +hasLocation(#21474,#21475) +#21476=* +tokeninfo(#21476,6,#20001,662,"y") +#21477=@"loc,{#10000},62,7,62,7" +locations_default(#21477,#10000,62,7,62,7) +hasLocation(#21476,#21477) +#21478=* +tokeninfo(#21478,8,#20001,663,";") +#21479=@"loc,{#10000},62,8,62,8" +locations_default(#21479,#10000,62,8,62,8) +hasLocation(#21478,#21479) +#21480=* +tokeninfo(#21480,8,#20001,664,"++") +#21481=@"loc,{#10000},63,1,63,2" +locations_default(#21481,#10000,63,1,63,2) +hasLocation(#21480,#21481) +#21482=* +tokeninfo(#21482,8,#20001,665,"(") +#21483=@"loc,{#10000},63,3,63,3" +locations_default(#21483,#10000,63,3,63,3) +hasLocation(#21482,#21483) +#21484=* +tokeninfo(#21484,6,#20001,666,"x") +#21485=@"loc,{#10000},63,4,63,4" +locations_default(#21485,#10000,63,4,63,4) +hasLocation(#21484,#21485) +#21486=* +tokeninfo(#21486,8,#20001,667,")") +#21487=@"loc,{#10000},63,5,63,5" +locations_default(#21487,#10000,63,5,63,5) +hasLocation(#21486,#21487) +#21488=* +tokeninfo(#21488,8,#20001,668,";") +#21489=@"loc,{#10000},63,6,63,6" +locations_default(#21489,#10000,63,6,63,6) +hasLocation(#21488,#21489) +#21490=* +tokeninfo(#21490,8,#20001,669,"(") +#21491=@"loc,{#10000},64,1,64,1" +locations_default(#21491,#10000,64,1,64,1) +hasLocation(#21490,#21491) +#21492=* +tokeninfo(#21492,6,#20001,670,"obj") +#21493=@"loc,{#10000},64,2,64,4" +locations_default(#21493,#10000,64,2,64,4) +hasLocation(#21492,#21493) +#21494=* +tokeninfo(#21494,8,#20001,671,".") +#21495=@"loc,{#10000},64,5,64,5" +locations_default(#21495,#10000,64,5,64,5) +hasLocation(#21494,#21495) +#21496=* +tokeninfo(#21496,6,#20001,672,"x") +#21497=@"loc,{#10000},64,6,64,6" +locations_default(#21497,#10000,64,6,64,6) +hasLocation(#21496,#21497) +#21498=* +tokeninfo(#21498,8,#20001,673,")") +#21499=@"loc,{#10000},64,7,64,7" +locations_default(#21499,#10000,64,7,64,7) +hasLocation(#21498,#21499) +#21500=* +tokeninfo(#21500,8,#20001,674,"++") +#21501=@"loc,{#10000},64,8,64,9" +locations_default(#21501,#10000,64,8,64,9) +hasLocation(#21500,#21501) +#21502=* +tokeninfo(#21502,8,#20001,675,";") +#21503=@"loc,{#10000},64,10,64,10" +locations_default(#21503,#10000,64,10,64,10) +hasLocation(#21502,#21503) +#21504=* +tokeninfo(#21504,8,#20001,676,"{") +hasLocation(#21504,#20133) +#21505=* +tokeninfo(#21505,7,#20001,677,"const") +#21506=@"loc,{#10000},67,3,67,7" +locations_default(#21506,#10000,67,3,67,7) +hasLocation(#21505,#21506) +#21507=* +tokeninfo(#21507,6,#20001,678,"values") +#21508=@"loc,{#10000},67,9,67,14" +locations_default(#21508,#10000,67,9,67,14) +hasLocation(#21507,#21508) +#21509=* +tokeninfo(#21509,8,#20001,679,"=") +#21510=@"loc,{#10000},67,16,67,16" +locations_default(#21510,#10000,67,16,67,16) +hasLocation(#21509,#21510) +#21511=* +tokeninfo(#21511,8,#20001,680,"[") +#21512=@"loc,{#10000},67,18,67,18" +locations_default(#21512,#10000,67,18,67,18) +hasLocation(#21511,#21512) +#21513=* +tokeninfo(#21513,3,#20001,681,"1") +#21514=@"loc,{#10000},67,19,67,19" +locations_default(#21514,#10000,67,19,67,19) +hasLocation(#21513,#21514) +#21515=* +tokeninfo(#21515,8,#20001,682,",") +#21516=@"loc,{#10000},67,20,67,20" +locations_default(#21516,#10000,67,20,67,20) +hasLocation(#21515,#21516) +#21517=* +tokeninfo(#21517,3,#20001,683,"2") +#21518=@"loc,{#10000},67,22,67,22" +locations_default(#21518,#10000,67,22,67,22) +hasLocation(#21517,#21518) +#21519=* +tokeninfo(#21519,8,#20001,684,",") +#21520=@"loc,{#10000},67,23,67,23" +locations_default(#21520,#10000,67,23,67,23) +hasLocation(#21519,#21520) +#21521=* +tokeninfo(#21521,3,#20001,685,"3") +#21522=@"loc,{#10000},67,25,67,25" +locations_default(#21522,#10000,67,25,67,25) +hasLocation(#21521,#21522) +#21523=* +tokeninfo(#21523,8,#20001,686,"]") +#21524=@"loc,{#10000},67,26,67,26" +locations_default(#21524,#10000,67,26,67,26) +hasLocation(#21523,#21524) +#21525=* +tokeninfo(#21525,8,#20001,687,";") +#21526=@"loc,{#10000},67,27,67,27" +locations_default(#21526,#10000,67,27,67,27) +hasLocation(#21525,#21526) +#21527=* +tokeninfo(#21527,7,#20001,688,"function") +#21528=@"loc,{#10000},68,3,68,10" +locations_default(#21528,#10000,68,3,68,10) +hasLocation(#21527,#21528) +#21529=* +tokeninfo(#21529,6,#20001,689,"collect") +#21530=@"loc,{#10000},68,12,68,18" +locations_default(#21530,#10000,68,12,68,18) +hasLocation(#21529,#21530) +#21531=* +tokeninfo(#21531,8,#20001,690,"(") +#21532=@"loc,{#10000},68,19,68,19" +locations_default(#21532,#10000,68,19,68,19) +hasLocation(#21531,#21532) +#21533=* +tokeninfo(#21533,6,#20001,691,"value") +#21534=@"loc,{#10000},68,20,68,24" +locations_default(#21534,#10000,68,20,68,24) +hasLocation(#21533,#21534) +#21535=* +tokeninfo(#21535,8,#20001,692,",") +#21536=@"loc,{#10000},68,25,68,25" +locations_default(#21536,#10000,68,25,68,25) +hasLocation(#21535,#21536) +#21537=* +tokeninfo(#21537,6,#20001,693,"index") +#21538=@"loc,{#10000},68,27,68,31" +locations_default(#21538,#10000,68,27,68,31) +hasLocation(#21537,#21538) +#21539=* +tokeninfo(#21539,8,#20001,694,",") +#21540=@"loc,{#10000},68,32,68,32" +locations_default(#21540,#10000,68,32,68,32) +hasLocation(#21539,#21540) +#21541=* +tokeninfo(#21541,6,#20001,695,"suffix") +#21542=@"loc,{#10000},68,34,68,39" +locations_default(#21542,#10000,68,34,68,39) +hasLocation(#21541,#21542) +#21543=* +tokeninfo(#21543,8,#20001,696,")") +#21544=@"loc,{#10000},68,40,68,40" +locations_default(#21544,#10000,68,40,68,40) +hasLocation(#21543,#21544) +#21545=* +tokeninfo(#21545,8,#20001,697,"{") +#21546=@"loc,{#10000},68,42,68,42" +locations_default(#21546,#10000,68,42,68,42) +hasLocation(#21545,#21546) +#21547=* +tokeninfo(#21547,7,#20001,698,"return") +#21548=@"loc,{#10000},69,5,69,10" +locations_default(#21548,#10000,69,5,69,10) +hasLocation(#21547,#21548) +#21549=* +tokeninfo(#21549,8,#20001,699,"{") +#21550=@"loc,{#10000},69,12,69,12" +locations_default(#21550,#10000,69,12,69,12) +hasLocation(#21549,#21550) +#21551=* +tokeninfo(#21551,6,#20001,700,"value") +#21552=@"loc,{#10000},69,14,69,18" +locations_default(#21552,#10000,69,14,69,18) +hasLocation(#21551,#21552) +#21553=* +tokeninfo(#21553,8,#20001,701,",") +#21554=@"loc,{#10000},69,19,69,19" +locations_default(#21554,#10000,69,19,69,19) +hasLocation(#21553,#21554) +#21555=* +tokeninfo(#21555,6,#20001,702,"index") +#21556=@"loc,{#10000},69,21,69,25" +locations_default(#21556,#10000,69,21,69,25) +hasLocation(#21555,#21556) +#21557=* +tokeninfo(#21557,8,#20001,703,",") +#21558=@"loc,{#10000},69,26,69,26" +locations_default(#21558,#10000,69,26,69,26) +hasLocation(#21557,#21558) +#21559=* +tokeninfo(#21559,6,#20001,704,"suffix") +#21560=@"loc,{#10000},69,28,69,33" +locations_default(#21560,#10000,69,28,69,33) +hasLocation(#21559,#21560) +#21561=* +tokeninfo(#21561,8,#20001,705,"}") +#21562=@"loc,{#10000},69,35,69,35" +locations_default(#21562,#10000,69,35,69,35) +hasLocation(#21561,#21562) +#21563=* +tokeninfo(#21563,8,#20001,706,";") +#21564=@"loc,{#10000},69,36,69,36" +locations_default(#21564,#10000,69,36,69,36) +hasLocation(#21563,#21564) +#21565=* +tokeninfo(#21565,8,#20001,707,"}") +#21566=@"loc,{#10000},70,3,70,3" +locations_default(#21566,#10000,70,3,70,3) +hasLocation(#21565,#21566) +#21567=* +tokeninfo(#21567,6,#20001,708,"values") +#21568=@"loc,{#10000},71,3,71,8" +locations_default(#21568,#10000,71,3,71,8) +hasLocation(#21567,#21568) +#21569=* +tokeninfo(#21569,8,#20001,709,".") +#21570=@"loc,{#10000},71,9,71,9" +locations_default(#21570,#10000,71,9,71,9) +hasLocation(#21569,#21570) +#21571=* +tokeninfo(#21571,6,#20001,710,"map") +#21572=@"loc,{#10000},71,10,71,12" +locations_default(#21572,#10000,71,10,71,12) +hasLocation(#21571,#21572) +#21573=* +tokeninfo(#21573,8,#20001,711,"(") +#21574=@"loc,{#10000},71,13,71,13" +locations_default(#21574,#10000,71,13,71,13) +hasLocation(#21573,#21574) +#21575=* +tokeninfo(#21575,6,#20001,712,"value") +#21576=@"loc,{#10000},71,14,71,18" +locations_default(#21576,#10000,71,14,71,18) +hasLocation(#21575,#21576) +#21577=* +tokeninfo(#21577,8,#20001,713,"=>") +#21578=@"loc,{#10000},71,20,71,21" +locations_default(#21578,#10000,71,20,71,21) +hasLocation(#21577,#21578) +#21579=* +tokeninfo(#21579,8,#20001,714,"[") +#21580=@"loc,{#10000},71,23,71,23" +locations_default(#21580,#10000,71,23,71,23) +hasLocation(#21579,#21580) +#21581=* +tokeninfo(#21581,6,#20001,715,"value") +#21582=@"loc,{#10000},71,24,71,28" +locations_default(#21582,#10000,71,24,71,28) +hasLocation(#21581,#21582) +#21583=* +tokeninfo(#21583,8,#20001,716,",") +#21584=@"loc,{#10000},71,29,71,29" +locations_default(#21584,#10000,71,29,71,29) +hasLocation(#21583,#21584) +#21585=* +tokeninfo(#21585,8,#20001,717,"(") +#21586=@"loc,{#10000},71,31,71,31" +locations_default(#21586,#10000,71,31,71,31) +hasLocation(#21585,#21586) +#21587=* +tokeninfo(#21587,8,#20001,718,"...") +#21588=@"loc,{#10000},71,32,71,34" +locations_default(#21588,#10000,71,32,71,34) +hasLocation(#21587,#21588) +#21589=* +tokeninfo(#21589,8,#20001,719,"[") +#21590=@"loc,{#10000},71,35,71,35" +locations_default(#21590,#10000,71,35,71,35) +hasLocation(#21589,#21590) +#21591=* +tokeninfo(#21591,6,#20001,720,"index") +#21592=@"loc,{#10000},71,36,71,40" +locations_default(#21592,#10000,71,36,71,40) +hasLocation(#21591,#21592) +#21593=* +tokeninfo(#21593,8,#20001,721,",") +#21594=@"loc,{#10000},71,41,71,41" +locations_default(#21594,#10000,71,41,71,41) +hasLocation(#21593,#21594) +#21595=* +tokeninfo(#21595,8,#20001,722,"...") +#21596=@"loc,{#10000},71,43,71,45" +locations_default(#21596,#10000,71,43,71,45) +hasLocation(#21595,#21596) +#21597=* +tokeninfo(#21597,6,#20001,723,"suffix") +#21598=@"loc,{#10000},71,46,71,51" +locations_default(#21598,#10000,71,46,71,51) +hasLocation(#21597,#21598) +#21599=* +tokeninfo(#21599,8,#20001,724,"]") +#21600=@"loc,{#10000},71,52,71,52" +locations_default(#21600,#10000,71,52,71,52) +hasLocation(#21599,#21600) +#21601=* +tokeninfo(#21601,8,#20001,725,")") +#21602=@"loc,{#10000},71,53,71,53" +locations_default(#21602,#10000,71,53,71,53) +hasLocation(#21601,#21602) +#21603=* +tokeninfo(#21603,8,#20001,726,"=>") +#21604=@"loc,{#10000},71,55,71,56" +locations_default(#21604,#10000,71,55,71,56) +hasLocation(#21603,#21604) +#21605=* +tokeninfo(#21605,6,#20001,727,"collect") +#21606=@"loc,{#10000},71,58,71,64" +locations_default(#21606,#10000,71,58,71,64) +hasLocation(#21605,#21606) +#21607=* +tokeninfo(#21607,8,#20001,728,"(") +#21608=@"loc,{#10000},71,65,71,65" +locations_default(#21608,#10000,71,65,71,65) +hasLocation(#21607,#21608) +#21609=* +tokeninfo(#21609,6,#20001,729,"value") +#21610=@"loc,{#10000},71,66,71,70" +locations_default(#21610,#10000,71,66,71,70) +hasLocation(#21609,#21610) +#21611=* +tokeninfo(#21611,8,#20001,730,",") +#21612=@"loc,{#10000},71,71,71,71" +locations_default(#21612,#10000,71,71,71,71) +hasLocation(#21611,#21612) +#21613=* +tokeninfo(#21613,6,#20001,731,"index") +#21614=@"loc,{#10000},71,73,71,77" +locations_default(#21614,#10000,71,73,71,77) +hasLocation(#21613,#21614) +#21615=* +tokeninfo(#21615,8,#20001,732,",") +#21616=@"loc,{#10000},71,78,71,78" +locations_default(#21616,#10000,71,78,71,78) +hasLocation(#21615,#21616) +#21617=* +tokeninfo(#21617,6,#20001,733,"suffix") +#21618=@"loc,{#10000},71,80,71,85" +locations_default(#21618,#10000,71,80,71,85) +hasLocation(#21617,#21618) +#21619=* +tokeninfo(#21619,8,#20001,734,")") +#21620=@"loc,{#10000},71,86,71,86" +locations_default(#21620,#10000,71,86,71,86) +hasLocation(#21619,#21620) +#21621=* +tokeninfo(#21621,8,#20001,735,"]") +#21622=@"loc,{#10000},71,87,71,87" +locations_default(#21622,#10000,71,87,71,87) +hasLocation(#21621,#21622) +#21623=* +tokeninfo(#21623,8,#20001,736,")") +#21624=@"loc,{#10000},71,88,71,88" +locations_default(#21624,#10000,71,88,71,88) +hasLocation(#21623,#21624) +#21625=* +tokeninfo(#21625,8,#20001,737,";") +#21626=@"loc,{#10000},71,89,71,89" +locations_default(#21626,#10000,71,89,71,89) +hasLocation(#21625,#21626) +#21627=* +tokeninfo(#21627,8,#20001,738,"}") +hasLocation(#21627,#20145) +#21628=* +tokeninfo(#21628,8,#20001,739,"(") +#21629=@"loc,{#10000},73,1,73,1" +locations_default(#21629,#10000,73,1,73,1) +hasLocation(#21628,#21629) +#21630=* +tokeninfo(#21630,8,#20001,740,"...") +#21631=@"loc,{#10000},73,2,73,4" +locations_default(#21631,#10000,73,2,73,4) +hasLocation(#21630,#21631) +#21632=* +tokeninfo(#21632,8,#20001,741,"[") +#21633=@"loc,{#10000},73,5,73,5" +locations_default(#21633,#10000,73,5,73,5) +hasLocation(#21632,#21633) +#21634=* +tokeninfo(#21634,6,#20001,742,"index") +#21635=@"loc,{#10000},73,6,73,10" +locations_default(#21635,#10000,73,6,73,10) +hasLocation(#21634,#21635) +#21636=* +tokeninfo(#21636,8,#20001,743,",") +#21637=@"loc,{#10000},73,11,73,11" +locations_default(#21637,#10000,73,11,73,11) +hasLocation(#21636,#21637) +#21638=* +tokeninfo(#21638,8,#20001,744,"...") +#21639=@"loc,{#10000},73,13,73,15" +locations_default(#21639,#10000,73,13,73,15) +hasLocation(#21638,#21639) +#21640=* +tokeninfo(#21640,6,#20001,745,"suffix") +#21641=@"loc,{#10000},73,16,73,21" +locations_default(#21641,#10000,73,16,73,21) +hasLocation(#21640,#21641) +#21642=* +tokeninfo(#21642,8,#20001,746,"]") +#21643=@"loc,{#10000},73,22,73,22" +locations_default(#21643,#10000,73,22,73,22) +hasLocation(#21642,#21643) +#21644=* +tokeninfo(#21644,8,#20001,747,")") +#21645=@"loc,{#10000},73,23,73,23" +locations_default(#21645,#10000,73,23,73,23) +hasLocation(#21644,#21645) +#21646=* +tokeninfo(#21646,8,#20001,748,"=>") +#21647=@"loc,{#10000},73,25,73,26" +locations_default(#21647,#10000,73,25,73,26) +hasLocation(#21646,#21647) +#21648=* +tokeninfo(#21648,6,#20001,749,"index") +#21649=@"loc,{#10000},73,28,73,32" +locations_default(#21649,#10000,73,28,73,32) +hasLocation(#21648,#21649) +#21650=* +tokeninfo(#21650,8,#20001,750,";") +#21651=@"loc,{#10000},73,33,73,33" +locations_default(#21651,#10000,73,33,73,33) +hasLocation(#21650,#21651) +#21652=* +tokeninfo(#21652,6,#20001,751,"async") +#21653=@"loc,{#10000},74,1,74,5" +locations_default(#21653,#10000,74,1,74,5) +hasLocation(#21652,#21653) +#21654=* +tokeninfo(#21654,8,#20001,752,"(") +#21655=@"loc,{#10000},74,7,74,7" +locations_default(#21655,#10000,74,7,74,7) +hasLocation(#21654,#21655) +#21656=* +tokeninfo(#21656,8,#20001,753,"...") +#21657=@"loc,{#10000},74,8,74,10" +locations_default(#21657,#10000,74,8,74,10) +hasLocation(#21656,#21657) +#21658=* +tokeninfo(#21658,8,#20001,754,"[") +#21659=@"loc,{#10000},74,11,74,11" +locations_default(#21659,#10000,74,11,74,11) +hasLocation(#21658,#21659) +#21660=* +tokeninfo(#21660,6,#20001,755,"index") +#21661=@"loc,{#10000},74,12,74,16" +locations_default(#21661,#10000,74,12,74,16) +hasLocation(#21660,#21661) +#21662=* +tokeninfo(#21662,8,#20001,756,",") +#21663=@"loc,{#10000},74,17,74,17" +locations_default(#21663,#10000,74,17,74,17) +hasLocation(#21662,#21663) +#21664=* +tokeninfo(#21664,8,#20001,757,"...") +#21665=@"loc,{#10000},74,19,74,21" +locations_default(#21665,#10000,74,19,74,21) +hasLocation(#21664,#21665) +#21666=* +tokeninfo(#21666,6,#20001,758,"suffix") +#21667=@"loc,{#10000},74,22,74,27" +locations_default(#21667,#10000,74,22,74,27) +hasLocation(#21666,#21667) +#21668=* +tokeninfo(#21668,8,#20001,759,"]") +#21669=@"loc,{#10000},74,28,74,28" +locations_default(#21669,#10000,74,28,74,28) +hasLocation(#21668,#21669) +#21670=* +tokeninfo(#21670,8,#20001,760,")") +#21671=@"loc,{#10000},74,29,74,29" +locations_default(#21671,#10000,74,29,74,29) +hasLocation(#21670,#21671) +#21672=* +tokeninfo(#21672,8,#20001,761,"=>") +#21673=@"loc,{#10000},74,31,74,32" +locations_default(#21673,#10000,74,31,74,32) +hasLocation(#21672,#21673) +#21674=* +tokeninfo(#21674,6,#20001,762,"index") +#21675=@"loc,{#10000},74,34,74,38" +locations_default(#21675,#10000,74,34,74,38) +hasLocation(#21674,#21675) +#21676=* +tokeninfo(#21676,8,#20001,763,";") +#21677=@"loc,{#10000},74,39,74,39" +locations_default(#21677,#10000,74,39,74,39) +hasLocation(#21676,#21677) +#21678=* +tokeninfo(#21678,7,#20001,764,"function") +#21679=@"loc,{#10000},75,1,75,8" +locations_default(#21679,#10000,75,1,75,8) +hasLocation(#21678,#21679) +#21680=* +tokeninfo(#21680,6,#20001,765,"restArray") +#21681=@"loc,{#10000},75,10,75,18" +locations_default(#21681,#10000,75,10,75,18) +hasLocation(#21680,#21681) +#21682=* +tokeninfo(#21682,8,#20001,766,"(") +#21683=@"loc,{#10000},75,19,75,19" +locations_default(#21683,#10000,75,19,75,19) +hasLocation(#21682,#21683) +#21684=* +tokeninfo(#21684,8,#20001,767,"...") +#21685=@"loc,{#10000},75,20,75,22" +locations_default(#21685,#10000,75,20,75,22) +hasLocation(#21684,#21685) +#21686=* +tokeninfo(#21686,8,#20001,768,"[") +#21687=@"loc,{#10000},75,23,75,23" +locations_default(#21687,#10000,75,23,75,23) +hasLocation(#21686,#21687) +#21688=* +tokeninfo(#21688,6,#20001,769,"index") +#21689=@"loc,{#10000},75,24,75,28" +locations_default(#21689,#10000,75,24,75,28) +hasLocation(#21688,#21689) +#21690=* +tokeninfo(#21690,8,#20001,770,",") +#21691=@"loc,{#10000},75,29,75,29" +locations_default(#21691,#10000,75,29,75,29) +hasLocation(#21690,#21691) +#21692=* +tokeninfo(#21692,8,#20001,771,"...") +#21693=@"loc,{#10000},75,31,75,33" +locations_default(#21693,#10000,75,31,75,33) +hasLocation(#21692,#21693) +#21694=* +tokeninfo(#21694,6,#20001,772,"suffix") +#21695=@"loc,{#10000},75,34,75,39" +locations_default(#21695,#10000,75,34,75,39) +hasLocation(#21694,#21695) +#21696=* +tokeninfo(#21696,8,#20001,773,"]") +#21697=@"loc,{#10000},75,40,75,40" +locations_default(#21697,#10000,75,40,75,40) +hasLocation(#21696,#21697) +#21698=* +tokeninfo(#21698,8,#20001,774,")") +#21699=@"loc,{#10000},75,41,75,41" +locations_default(#21699,#10000,75,41,75,41) +hasLocation(#21698,#21699) +#21700=* +tokeninfo(#21700,8,#20001,775,"{") +#21701=@"loc,{#10000},75,43,75,43" +locations_default(#21701,#10000,75,43,75,43) +hasLocation(#21700,#21701) +#21702=* +tokeninfo(#21702,8,#20001,776,"}") +#21703=@"loc,{#10000},75,44,75,44" +locations_default(#21703,#10000,75,44,75,44) +hasLocation(#21702,#21703) +#21704=* +tokeninfo(#21704,8,#20001,777,"(") +#21705=@"loc,{#10000},76,1,76,1" +locations_default(#21705,#10000,76,1,76,1) +hasLocation(#21704,#21705) +#21706=* +tokeninfo(#21706,8,#20001,778,"[") +#21707=@"loc,{#10000},76,2,76,2" +locations_default(#21707,#10000,76,2,76,2) +hasLocation(#21706,#21707) +#21708=* +tokeninfo(#21708,6,#20001,779,"index") +#21709=@"loc,{#10000},76,3,76,7" +locations_default(#21709,#10000,76,3,76,7) +hasLocation(#21708,#21709) +#21710=* +tokeninfo(#21710,8,#20001,780,",") +#21711=@"loc,{#10000},76,8,76,8" +locations_default(#21711,#10000,76,8,76,8) +hasLocation(#21710,#21711) +#21712=* +tokeninfo(#21712,8,#20001,781,"...") +#21713=@"loc,{#10000},76,10,76,12" +locations_default(#21713,#10000,76,10,76,12) +hasLocation(#21712,#21713) +#21714=* +tokeninfo(#21714,8,#20001,782,"[") +#21715=@"loc,{#10000},76,13,76,13" +locations_default(#21715,#10000,76,13,76,13) +hasLocation(#21714,#21715) +#21716=* +tokeninfo(#21716,6,#20001,783,"suffix") +#21717=@"loc,{#10000},76,14,76,19" +locations_default(#21717,#10000,76,14,76,19) +hasLocation(#21716,#21717) +#21718=* +tokeninfo(#21718,8,#20001,784,"]") +#21719=@"loc,{#10000},76,20,76,20" +locations_default(#21719,#10000,76,20,76,20) +hasLocation(#21718,#21719) +#21720=* +tokeninfo(#21720,8,#20001,785,"]") +#21721=@"loc,{#10000},76,21,76,21" +locations_default(#21721,#10000,76,21,76,21) +hasLocation(#21720,#21721) +#21722=* +tokeninfo(#21722,8,#20001,786,")") +#21723=@"loc,{#10000},76,22,76,22" +locations_default(#21723,#10000,76,22,76,22) +hasLocation(#21722,#21723) +#21724=* +tokeninfo(#21724,8,#20001,787,"=>") +#21725=@"loc,{#10000},76,24,76,25" +locations_default(#21725,#10000,76,24,76,25) +hasLocation(#21724,#21725) +#21726=* +tokeninfo(#21726,6,#20001,788,"suffix") +#21727=@"loc,{#10000},76,27,76,32" +locations_default(#21727,#10000,76,27,76,32) +hasLocation(#21726,#21727) +#21728=* +tokeninfo(#21728,8,#20001,789,";") +#21729=@"loc,{#10000},76,33,76,33" +locations_default(#21729,#10000,76,33,76,33) +hasLocation(#21728,#21729) +#21730=* +tokeninfo(#21730,8,#20001,790,"(") +#21731=@"loc,{#10000},77,1,77,1" +locations_default(#21731,#10000,77,1,77,1) +hasLocation(#21730,#21731) +#21732=* +tokeninfo(#21732,8,#20001,791,"...") +#21733=@"loc,{#10000},77,2,77,4" +locations_default(#21733,#10000,77,2,77,4) +hasLocation(#21732,#21733) +#21734=* +tokeninfo(#21734,8,#20001,792,"{") +#21735=@"loc,{#10000},77,5,77,5" +locations_default(#21735,#10000,77,5,77,5) +hasLocation(#21734,#21735) +#21736=* +tokeninfo(#21736,6,#20001,793,"length") +#21737=@"loc,{#10000},77,6,77,11" +locations_default(#21737,#10000,77,6,77,11) +hasLocation(#21736,#21737) +#21738=* +tokeninfo(#21738,8,#20001,794,",") +#21739=@"loc,{#10000},77,12,77,12" +locations_default(#21739,#10000,77,12,77,12) +hasLocation(#21738,#21739) +#21740=* +tokeninfo(#21740,8,#20001,795,"...") +#21741=@"loc,{#10000},77,14,77,16" +locations_default(#21741,#10000,77,14,77,16) +hasLocation(#21740,#21741) +#21742=* +tokeninfo(#21742,6,#20001,796,"rest") +#21743=@"loc,{#10000},77,17,77,20" +locations_default(#21743,#10000,77,17,77,20) +hasLocation(#21742,#21743) +#21744=* +tokeninfo(#21744,8,#20001,797,"}") +#21745=@"loc,{#10000},77,21,77,21" +locations_default(#21745,#10000,77,21,77,21) +hasLocation(#21744,#21745) +#21746=* +tokeninfo(#21746,8,#20001,798,")") +#21747=@"loc,{#10000},77,22,77,22" +locations_default(#21747,#10000,77,22,77,22) +hasLocation(#21746,#21747) +#21748=* +tokeninfo(#21748,8,#20001,799,"=>") +#21749=@"loc,{#10000},77,24,77,25" +locations_default(#21749,#10000,77,24,77,25) +hasLocation(#21748,#21749) +#21750=* +tokeninfo(#21750,6,#20001,800,"length") +#21751=@"loc,{#10000},77,27,77,32" +locations_default(#21751,#10000,77,27,77,32) +hasLocation(#21750,#21751) +#21752=* +tokeninfo(#21752,8,#20001,801,";") +#21753=@"loc,{#10000},77,33,77,33" +locations_default(#21753,#10000,77,33,77,33) +hasLocation(#21752,#21753) +#21754=* +tokeninfo(#21754,6,#20001,802,"async") +#21755=@"loc,{#10000},78,1,78,5" +locations_default(#21755,#10000,78,1,78,5) +hasLocation(#21754,#21755) +#21756=* +tokeninfo(#21756,8,#20001,803,"(") +#21757=@"loc,{#10000},78,7,78,7" +locations_default(#21757,#10000,78,7,78,7) +hasLocation(#21756,#21757) +#21758=* +tokeninfo(#21758,8,#20001,804,"...") +#21759=@"loc,{#10000},78,8,78,10" +locations_default(#21759,#10000,78,8,78,10) +hasLocation(#21758,#21759) +#21760=* +tokeninfo(#21760,8,#20001,805,"{") +#21761=@"loc,{#10000},78,11,78,11" +locations_default(#21761,#10000,78,11,78,11) +hasLocation(#21760,#21761) +#21762=* +tokeninfo(#21762,6,#20001,806,"length") +#21763=@"loc,{#10000},78,12,78,17" +locations_default(#21763,#10000,78,12,78,17) +hasLocation(#21762,#21763) +#21764=* +tokeninfo(#21764,8,#20001,807,",") +#21765=@"loc,{#10000},78,18,78,18" +locations_default(#21765,#10000,78,18,78,18) +hasLocation(#21764,#21765) +#21766=* +tokeninfo(#21766,8,#20001,808,"...") +#21767=@"loc,{#10000},78,20,78,22" +locations_default(#21767,#10000,78,20,78,22) +hasLocation(#21766,#21767) +#21768=* +tokeninfo(#21768,6,#20001,809,"rest") +#21769=@"loc,{#10000},78,23,78,26" +locations_default(#21769,#10000,78,23,78,26) +hasLocation(#21768,#21769) +#21770=* +tokeninfo(#21770,8,#20001,810,"}") +#21771=@"loc,{#10000},78,27,78,27" +locations_default(#21771,#10000,78,27,78,27) +hasLocation(#21770,#21771) +#21772=* +tokeninfo(#21772,8,#20001,811,")") +#21773=@"loc,{#10000},78,28,78,28" +locations_default(#21773,#10000,78,28,78,28) +hasLocation(#21772,#21773) +#21774=* +tokeninfo(#21774,8,#20001,812,"=>") +#21775=@"loc,{#10000},78,30,78,31" +locations_default(#21775,#10000,78,30,78,31) +hasLocation(#21774,#21775) +#21776=* +tokeninfo(#21776,6,#20001,813,"length") +#21777=@"loc,{#10000},78,33,78,38" +locations_default(#21777,#10000,78,33,78,38) +hasLocation(#21776,#21777) +#21778=* +tokeninfo(#21778,8,#20001,814,";") +#21779=@"loc,{#10000},78,39,78,39" +locations_default(#21779,#10000,78,39,78,39) +hasLocation(#21778,#21779) +#21780=* +tokeninfo(#21780,0,#20001,815,"") +#21781=@"loc,{#10000},78,40,78,39" +locations_default(#21781,#10000,78,40,78,39) +hasLocation(#21780,#21781) +toplevels(#20001,0) +#21782=@"loc,{#10000},1,1,78,39" +locations_default(#21782,#10000,1,1,78,39) +hasLocation(#20001,#21782) +#21783=@"var;{restObject1};{#20000}" +variables(#21783,"restObject1",#20000) +#21784=@"var;{restObject2};{#20000}" +variables(#21784,"restObject2",#20000) +#21785=@"var;{restObject3};{#20000}" +variables(#21785,"restObject3",#20000) +#21786=@"var;{restObject4};{#20000}" +variables(#21786,"restObject4",#20000) +#21787=@"var;{collect};{#20000}" +variables(#21787,"collect",#20000) +#21788=@"var;{restArray};{#20000}" +variables(#21788,"restArray",#20000) +#21789=@"var;{RestObject};{#20000}" +variables(#21789,"RestObject",#20000) +#21790=@"local_type_name;{RestObject};{#20000}" +local_type_names(#21790,"RestObject",#20000) +#21791=@"var;{this};{#20000}" +variables(#21791,"this",#20000) +#21792=* +stmts(#21792,2,#20001,0,"(...{le ... length;") +hasLocation(#21792,#20003) +stmt_containers(#21792,#20001) +#21793=* +exprs(#21793,65,#21792,0,"(...{le ... length") +#21794=@"loc,{#10000},1,1,1,23" +locations_default(#21794,#10000,1,1,1,23) +hasLocation(#21793,#21794) +enclosing_stmt(#21793,#21792) +expr_containers(#21793,#20001) +#21795=* +scopes(#21795,1) +scopenodes(#21793,#21795) +scopenesting(#21795,#20000) +#21796=@"var;{length};{#21795}" +variables(#21796,"length",#21795) +#21797=* +exprs(#21797,68,#21793,0,"{length}") +#21798=@"loc,{#10000},1,5,1,12" +locations_default(#21798,#10000,1,5,1,12) +hasLocation(#21797,#21798) +expr_containers(#21797,#21793) +#21799=* +properties(#21799,#21797,0,0,"length") +hasLocation(#21799,#20165) +#21800=* +exprs(#21800,0,#21799,0,"length") +hasLocation(#21800,#20165) +expr_containers(#21800,#21793) +literals("length","length",#21800) +#21801=* +exprs(#21801,78,#21799,1,"length") +hasLocation(#21801,#20165) +expr_containers(#21801,#21793) +literals("length","length",#21801) +decl(#21801,#21796) +has_rest_parameter(#21793) +#21802=* +exprs(#21802,79,#21793,-2,"length") +hasLocation(#21802,#20173) +expr_containers(#21802,#21793) +literals("length","length",#21802) +bind(#21802,#21796) +#21803=* +stmts(#21803,2,#20001,1,"async ( ... length;") +hasLocation(#21803,#20005) +stmt_containers(#21803,#20001) +#21804=* +exprs(#21804,65,#21803,0,"async ( ... length") +#21805=@"loc,{#10000},2,1,2,29" +locations_default(#21805,#10000,2,1,2,29) +hasLocation(#21804,#21805) +enclosing_stmt(#21804,#21803) +expr_containers(#21804,#20001) +#21806=* +scopes(#21806,1) +scopenodes(#21804,#21806) +scopenesting(#21806,#20000) +#21807=@"var;{length};{#21806}" +variables(#21807,"length",#21806) +#21808=* +exprs(#21808,68,#21804,0,"{length}") +#21809=@"loc,{#10000},2,11,2,18" +locations_default(#21809,#10000,2,11,2,18) +hasLocation(#21808,#21809) +expr_containers(#21808,#21804) +#21810=* +properties(#21810,#21808,0,0,"length") +hasLocation(#21810,#20185) +#21811=* +exprs(#21811,0,#21810,0,"length") +hasLocation(#21811,#20185) +expr_containers(#21811,#21804) +literals("length","length",#21811) +#21812=* +exprs(#21812,78,#21810,1,"length") +hasLocation(#21812,#20185) +expr_containers(#21812,#21804) +literals("length","length",#21812) +decl(#21812,#21807) +has_rest_parameter(#21804) +is_async(#21804) +#21813=* +exprs(#21813,79,#21804,-2,"length") +hasLocation(#21813,#20193) +expr_containers(#21813,#21804) +literals("length","length",#21813) +bind(#21813,#21807) +#21814=* +stmts(#21814,17,#20001,2,"functio ... th}) {}") +hasLocation(#21814,#20007) +stmt_containers(#21814,#20001) +#21815=* +exprs(#21815,78,#21814,-1,"restObject1") +hasLocation(#21815,#20199) +expr_containers(#21815,#21814) +literals("restObject1","restObject1",#21815) +decl(#21815,#21783) +#21816=* +scopes(#21816,1) +scopenodes(#21814,#21816) +scopenesting(#21816,#20000) +#21817=@"var;{this};{#21816}" +variables(#21817,"this",#21816) +#21818=@"var;{length};{#21816}" +variables(#21818,"length",#21816) +#21819=* +exprs(#21819,68,#21814,0,"{length}") +#21820=@"loc,{#10000},3,25,3,32" +locations_default(#21820,#10000,3,25,3,32) +hasLocation(#21819,#21820) +expr_containers(#21819,#21814) +#21821=* +properties(#21821,#21819,0,0,"length") +hasLocation(#21821,#20207) +#21822=* +exprs(#21822,0,#21821,0,"length") +hasLocation(#21822,#20207) +expr_containers(#21822,#21814) +literals("length","length",#21822) +#21823=* +exprs(#21823,78,#21821,1,"length") +hasLocation(#21823,#20207) +expr_containers(#21823,#21814) +literals("length","length",#21823) +decl(#21823,#21818) +#21824=@"var;{arguments};{#21816}" +variables(#21824,"arguments",#21816) +is_arguments_object(#21824) +has_rest_parameter(#21814) +#21825=* +stmts(#21825,1,#21814,-2,"{}") +#21826=@"loc,{#10000},3,35,3,36" +locations_default(#21826,#10000,3,35,3,36) +hasLocation(#21825,#21826) +stmt_containers(#21825,#21814) +#21827=* +stmts(#21827,17,#20001,3,"async f ... th}) {}") +hasLocation(#21827,#20009) +stmt_containers(#21827,#20001) +#21828=* +exprs(#21828,78,#21827,-1,"restObject2") +hasLocation(#21828,#20221) +expr_containers(#21828,#21827) +literals("restObject2","restObject2",#21828) +decl(#21828,#21784) +#21829=* +scopes(#21829,1) +scopenodes(#21827,#21829) +scopenesting(#21829,#20000) +#21830=@"var;{this};{#21829}" +variables(#21830,"this",#21829) +#21831=@"var;{length};{#21829}" +variables(#21831,"length",#21829) +#21832=* +exprs(#21832,68,#21827,0,"{length}") +#21833=@"loc,{#10000},4,31,4,38" +locations_default(#21833,#10000,4,31,4,38) +hasLocation(#21832,#21833) +expr_containers(#21832,#21827) +#21834=* +properties(#21834,#21832,0,0,"length") +hasLocation(#21834,#20229) +#21835=* +exprs(#21835,0,#21834,0,"length") +hasLocation(#21835,#20229) +expr_containers(#21835,#21827) +literals("length","length",#21835) +#21836=* +exprs(#21836,78,#21834,1,"length") +hasLocation(#21836,#20229) +expr_containers(#21836,#21827) +literals("length","length",#21836) +decl(#21836,#21831) +#21837=@"var;{arguments};{#21829}" +variables(#21837,"arguments",#21829) +is_arguments_object(#21837) +has_rest_parameter(#21827) +is_async(#21827) +#21838=* +stmts(#21838,1,#21827,-2,"{}") +#21839=@"loc,{#10000},4,41,4,42" +locations_default(#21839,#10000,4,41,4,42) +hasLocation(#21838,#21839) +stmt_containers(#21838,#21827) +#21840=* +stmts(#21840,17,#20001,4,"functio ... th}) {}") +hasLocation(#21840,#20011) +stmt_containers(#21840,#20001) +#21841=* +exprs(#21841,78,#21840,-1,"restObject3") +hasLocation(#21841,#20243) +expr_containers(#21841,#21840) +literals("restObject3","restObject3",#21841) +decl(#21841,#21785) +#21842=* +scopes(#21842,1) +scopenodes(#21840,#21842) +scopenesting(#21842,#20000) +#21843=@"var;{this};{#21842}" +variables(#21843,"this",#21842) +#21844=@"var;{length};{#21842}" +variables(#21844,"length",#21842) +#21845=* +exprs(#21845,68,#21840,0,"{length}") +#21846=@"loc,{#10000},5,26,5,33" +locations_default(#21846,#10000,5,26,5,33) +hasLocation(#21845,#21846) +expr_containers(#21845,#21840) +#21847=* +properties(#21847,#21845,0,0,"length") +hasLocation(#21847,#20251) +#21848=* +exprs(#21848,0,#21847,0,"length") +hasLocation(#21848,#20251) +expr_containers(#21848,#21840) +literals("length","length",#21848) +#21849=* +exprs(#21849,78,#21847,1,"length") +hasLocation(#21849,#20251) +expr_containers(#21849,#21840) +literals("length","length",#21849) +decl(#21849,#21844) +#21850=@"var;{arguments};{#21842}" +variables(#21850,"arguments",#21842) +is_arguments_object(#21850) +is_generator(#21840) +has_rest_parameter(#21840) +#21851=* +stmts(#21851,1,#21840,-2,"{}") +#21852=@"loc,{#10000},5,36,5,37" +locations_default(#21852,#10000,5,36,5,37) +hasLocation(#21851,#21852) +stmt_containers(#21851,#21840) +#21853=* +stmts(#21853,17,#20001,5,"async f ... th}) {}") +hasLocation(#21853,#20013) +stmt_containers(#21853,#20001) +#21854=* +exprs(#21854,78,#21853,-1,"restObject4") +hasLocation(#21854,#20267) +expr_containers(#21854,#21853) +literals("restObject4","restObject4",#21854) +decl(#21854,#21786) +#21855=* +scopes(#21855,1) +scopenodes(#21853,#21855) +scopenesting(#21855,#20000) +#21856=@"var;{this};{#21855}" +variables(#21856,"this",#21855) +#21857=@"var;{length};{#21855}" +variables(#21857,"length",#21855) +#21858=* +exprs(#21858,68,#21853,0,"{length}") +#21859=@"loc,{#10000},6,32,6,39" +locations_default(#21859,#10000,6,32,6,39) +hasLocation(#21858,#21859) +expr_containers(#21858,#21853) +#21860=* +properties(#21860,#21858,0,0,"length") +hasLocation(#21860,#20275) +#21861=* +exprs(#21861,0,#21860,0,"length") +hasLocation(#21861,#20275) +expr_containers(#21861,#21853) +literals("length","length",#21861) +#21862=* +exprs(#21862,78,#21860,1,"length") +hasLocation(#21862,#20275) +expr_containers(#21862,#21853) +literals("length","length",#21862) +decl(#21862,#21857) +#21863=@"var;{arguments};{#21855}" +variables(#21863,"arguments",#21855) +is_arguments_object(#21863) +is_generator(#21853) +has_rest_parameter(#21853) +is_async(#21853) +#21864=* +stmts(#21864,1,#21853,-2,"{}") +#21865=@"loc,{#10000},6,42,6,43" +locations_default(#21865,#10000,6,42,6,43) +hasLocation(#21864,#21865) +stmt_containers(#21864,#21853) +#21866=* +stmts(#21866,2,#20001,6,"({ meth ... {} });") +hasLocation(#21866,#20015) +stmt_containers(#21866,#20001) +#21867=* +exprs(#21867,63,#21866,0,"({ meth ... ) {} })") +#21868=@"loc,{#10000},7,1,7,28" +locations_default(#21868,#10000,7,1,7,28) +hasLocation(#21867,#21868) +enclosing_stmt(#21867,#21866) +expr_containers(#21867,#20001) +#21869=* +exprs(#21869,8,#21867,0,"{ metho ... }) {} }") +#21870=@"loc,{#10000},7,2,7,27" +locations_default(#21870,#10000,7,2,7,27) +hasLocation(#21869,#21870) +enclosing_stmt(#21869,#21866) +expr_containers(#21869,#20001) +#21871=* +properties(#21871,#21869,0,0,"method( ... th}) {}") +#21872=@"loc,{#10000},7,4,7,25" +locations_default(#21872,#10000,7,4,7,25) +hasLocation(#21871,#21872) +#21873=* +exprs(#21873,0,#21871,0,"method") +hasLocation(#21873,#20289) +enclosing_stmt(#21873,#21866) +expr_containers(#21873,#20001) +literals("method","method",#21873) +#21874=* +exprs(#21874,9,#21871,1,"(...{length}) {}") +#21875=@"loc,{#10000},7,10,7,25" +locations_default(#21875,#10000,7,10,7,25) +hasLocation(#21874,#21875) +enclosing_stmt(#21874,#21866) +expr_containers(#21874,#20001) +#21876=* +scopes(#21876,1) +scopenodes(#21874,#21876) +scopenesting(#21876,#20000) +#21877=@"var;{this};{#21876}" +variables(#21877,"this",#21876) +#21878=@"var;{length};{#21876}" +variables(#21878,"length",#21876) +#21879=* +exprs(#21879,68,#21874,0,"{length}") +#21880=@"loc,{#10000},7,14,7,21" +locations_default(#21880,#10000,7,14,7,21) +hasLocation(#21879,#21880) +expr_containers(#21879,#21874) +#21881=* +properties(#21881,#21879,0,0,"length") +hasLocation(#21881,#20297) +#21882=* +exprs(#21882,0,#21881,0,"length") +hasLocation(#21882,#20297) +expr_containers(#21882,#21874) +literals("length","length",#21882) +#21883=* +exprs(#21883,78,#21881,1,"length") +hasLocation(#21883,#20297) +expr_containers(#21883,#21874) +literals("length","length",#21883) +decl(#21883,#21878) +#21884=@"var;{arguments};{#21876}" +variables(#21884,"arguments",#21876) +is_arguments_object(#21884) +has_rest_parameter(#21874) +#21885=* +stmts(#21885,1,#21874,-2,"{}") +#21886=@"loc,{#10000},7,24,7,25" +locations_default(#21886,#10000,7,24,7,25) +hasLocation(#21885,#21886) +stmt_containers(#21885,#21874) +is_method(#21871) +#21887=* +stmts(#21887,26,#20001,7,"class R ... }) {} }") +hasLocation(#21887,#20017) +stmt_containers(#21887,#20001) +#21888=* +exprs(#21888,78,#21887,0,"RestObject") +hasLocation(#21888,#20315) +enclosing_stmt(#21888,#21887) +expr_containers(#21888,#20001) +literals("RestObject","RestObject",#21888) +decl(#21888,#21789) +typedecl(#21888,#21790) +#21889=* +scopes(#21889,10) +scopenodes(#21887,#21889) +scopenesting(#21889,#20000) +#21890=@"var;{this};{#21889}" +variables(#21890,"this",#21889) +#21891=* +properties(#21891,#21887,2,0,"constru ... th}) {}") +#21892=@"loc,{#10000},8,20,8,46" +locations_default(#21892,#10000,8,20,8,46) +hasLocation(#21891,#21892) +#21893=* +exprs(#21893,0,#21891,0,"constructor") +hasLocation(#21893,#20319) +enclosing_stmt(#21893,#21887) +expr_containers(#21893,#20001) +literals("constructor","constructor",#21893) +#21894=* +exprs(#21894,9,#21891,1,"(...{length}) {}") +#21895=@"loc,{#10000},8,31,8,46" +locations_default(#21895,#10000,8,31,8,46) +hasLocation(#21894,#21895) +enclosing_stmt(#21894,#21887) +expr_containers(#21894,#20001) +#21896=* +scopes(#21896,1) +scopenodes(#21894,#21896) +scopenesting(#21896,#21889) +#21897=@"var;{this};{#21896}" +variables(#21897,"this",#21896) +#21898=@"var;{length};{#21896}" +variables(#21898,"length",#21896) +#21899=* +exprs(#21899,68,#21894,0,"{length}") +#21900=@"loc,{#10000},8,35,8,42" +locations_default(#21900,#10000,8,35,8,42) +hasLocation(#21899,#21900) +expr_containers(#21899,#21894) +#21901=* +properties(#21901,#21899,0,0,"length") +hasLocation(#21901,#20327) +#21902=* +exprs(#21902,0,#21901,0,"length") +hasLocation(#21902,#20327) +expr_containers(#21902,#21894) +literals("length","length",#21902) +#21903=* +exprs(#21903,78,#21901,1,"length") +hasLocation(#21903,#20327) +expr_containers(#21903,#21894) +literals("length","length",#21903) +decl(#21903,#21898) +#21904=@"var;{arguments};{#21896}" +variables(#21904,"arguments",#21896) +is_arguments_object(#21904) +has_rest_parameter(#21894) +#21905=* +stmts(#21905,1,#21894,-2,"{}") +#21906=@"loc,{#10000},8,45,8,46" +locations_default(#21906,#10000,8,45,8,46) +hasLocation(#21905,#21906) +stmt_containers(#21905,#21894) +is_method(#21891) +#21907=* +stmts(#21907,2,#20001,8,"(...{0: ... ) => x;") +hasLocation(#21907,#20019) +stmt_containers(#21907,#20001) +#21908=* +exprs(#21908,65,#21907,0,"(...{0: ... }) => x") +#21909=@"loc,{#10000},9,1,9,29" +locations_default(#21909,#10000,9,1,9,29) +hasLocation(#21908,#21909) +enclosing_stmt(#21908,#21907) +expr_containers(#21908,#20001) +#21910=* +scopes(#21910,1) +scopenodes(#21908,#21910) +scopenesting(#21910,#20000) +#21911=@"var;{x};{#21910}" +variables(#21911,"x",#21910) +#21912=@"var;{rest};{#21910}" +variables(#21912,"rest",#21910) +#21913=* +exprs(#21913,68,#21908,0,"{0: x = 1, ...rest}") +#21914=@"loc,{#10000},9,5,9,23" +locations_default(#21914,#10000,9,5,9,23) +hasLocation(#21913,#21914) +expr_containers(#21913,#21908) +#21915=* +properties(#21915,#21913,0,0,"0: x = 1") +#21916=@"loc,{#10000},9,6,9,13" +locations_default(#21916,#10000,9,6,9,13) +hasLocation(#21915,#21916) +#21917=* +exprs(#21917,3,#21915,0,"0") +hasLocation(#21917,#20345) +expr_containers(#21917,#21908) +literals("0","0",#21917) +#21918=* +exprs(#21918,78,#21915,1,"x") +hasLocation(#21918,#20349) +expr_containers(#21918,#21908) +literals("x","x",#21918) +decl(#21918,#21911) +#21919=* +exprs(#21919,3,#21915,2,"1") +hasLocation(#21919,#20353) +expr_containers(#21919,#21908) +literals("1","1",#21919) +#21920=* +exprs(#21920,78,#21913,-1,"rest") +hasLocation(#21920,#20359) +expr_containers(#21920,#21908) +literals("rest","rest",#21920) +decl(#21920,#21912) +has_rest_parameter(#21908) +#21921=* +exprs(#21921,79,#21908,-2,"x") +hasLocation(#21921,#20367) +expr_containers(#21921,#21908) +literals("x","x",#21921) +bind(#21921,#21911) +#21922=* +stmts(#21922,2,#20001,9,"async ( ... ) => x;") +hasLocation(#21922,#20021) +stmt_containers(#21922,#20001) +#21923=* +exprs(#21923,65,#21922,0,"async ( ... }) => x") +#21924=@"loc,{#10000},10,1,10,35" +locations_default(#21924,#10000,10,1,10,35) +hasLocation(#21923,#21924) +enclosing_stmt(#21923,#21922) +expr_containers(#21923,#20001) +#21925=* +scopes(#21925,1) +scopenodes(#21923,#21925) +scopenesting(#21925,#20000) +#21926=@"var;{x};{#21925}" +variables(#21926,"x",#21925) +#21927=@"var;{rest};{#21925}" +variables(#21927,"rest",#21925) +#21928=* +exprs(#21928,68,#21923,0,"{0: x = 1, ...rest}") +#21929=@"loc,{#10000},10,11,10,29" +locations_default(#21929,#10000,10,11,10,29) +hasLocation(#21928,#21929) +expr_containers(#21928,#21923) +#21930=* +properties(#21930,#21928,0,0,"0: x = 1") +#21931=@"loc,{#10000},10,12,10,19" +locations_default(#21931,#10000,10,12,10,19) +hasLocation(#21930,#21931) +#21932=* +exprs(#21932,3,#21930,0,"0") +hasLocation(#21932,#20379) +expr_containers(#21932,#21923) +literals("0","0",#21932) +#21933=* +exprs(#21933,78,#21930,1,"x") +hasLocation(#21933,#20383) +expr_containers(#21933,#21923) +literals("x","x",#21933) +decl(#21933,#21926) +#21934=* +exprs(#21934,3,#21930,2,"1") +hasLocation(#21934,#20387) +expr_containers(#21934,#21923) +literals("1","1",#21934) +#21935=* +exprs(#21935,78,#21928,-1,"rest") +hasLocation(#21935,#20393) +expr_containers(#21935,#21923) +literals("rest","rest",#21935) +decl(#21935,#21927) +has_rest_parameter(#21923) +is_async(#21923) +#21936=* +exprs(#21936,79,#21923,-2,"x") +hasLocation(#21936,#20401) +expr_containers(#21936,#21923) +literals("x","x",#21936) +bind(#21936,#21926) +#21937=* +stmts(#21937,2,#20001,10,"(...[fi ... length;") +hasLocation(#21937,#20025) +stmt_containers(#21937,#20001) +#21938=* +exprs(#21938,65,#21937,0,"(...[fi ... length") +#21939=@"loc,{#10000},12,1,12,35" +locations_default(#21939,#10000,12,1,12,35) +hasLocation(#21938,#21939) +enclosing_stmt(#21938,#21937) +expr_containers(#21938,#20001) +#21940=* +scopes(#21940,1) +scopenodes(#21938,#21940) +scopenesting(#21940,#20000) +#21941=@"var;{first};{#21940}" +variables(#21941,"first",#21940) +#21942=@"var;{length};{#21940}" +variables(#21942,"length",#21940) +#21943=* +exprs(#21943,67,#21938,0,"[first, ...{length}]") +#21944=@"loc,{#10000},12,5,12,24" +locations_default(#21944,#10000,12,5,12,24) +hasLocation(#21943,#21944) +expr_containers(#21943,#21938) +#21945=* +exprs(#21945,78,#21943,0,"first") +hasLocation(#21945,#20411) +expr_containers(#21945,#21938) +literals("first","first",#21945) +decl(#21945,#21941) +#21946=* +exprs(#21946,68,#21943,-1,"{length}") +#21947=@"loc,{#10000},12,16,12,23" +locations_default(#21947,#10000,12,16,12,23) +hasLocation(#21946,#21947) +expr_containers(#21946,#21938) +#21948=* +properties(#21948,#21946,0,0,"length") +hasLocation(#21948,#20419) +#21949=* +exprs(#21949,0,#21948,0,"length") +hasLocation(#21949,#20419) +expr_containers(#21949,#21938) +literals("length","length",#21949) +#21950=* +exprs(#21950,78,#21948,1,"length") +hasLocation(#21950,#20419) +expr_containers(#21950,#21938) +literals("length","length",#21950) +decl(#21950,#21942) +array_size(#21943,1) +has_rest_parameter(#21938) +#21951=* +exprs(#21951,79,#21938,-2,"length") +hasLocation(#21951,#20429) +expr_containers(#21951,#21938) +literals("length","length",#21951) +bind(#21951,#21942) +#21952=* +stmts(#21952,2,#20001,11,"async ( ... length;") +hasLocation(#21952,#20027) +stmt_containers(#21952,#20001) +#21953=* +exprs(#21953,65,#21952,0,"async ( ... length") +#21954=@"loc,{#10000},13,1,13,41" +locations_default(#21954,#10000,13,1,13,41) +hasLocation(#21953,#21954) +enclosing_stmt(#21953,#21952) +expr_containers(#21953,#20001) +#21955=* +scopes(#21955,1) +scopenodes(#21953,#21955) +scopenesting(#21955,#20000) +#21956=@"var;{first};{#21955}" +variables(#21956,"first",#21955) +#21957=@"var;{length};{#21955}" +variables(#21957,"length",#21955) +#21958=* +exprs(#21958,67,#21953,0,"[first, ...{length}]") +#21959=@"loc,{#10000},13,11,13,30" +locations_default(#21959,#10000,13,11,13,30) +hasLocation(#21958,#21959) +expr_containers(#21958,#21953) +#21960=* +exprs(#21960,78,#21958,0,"first") +hasLocation(#21960,#20441) +expr_containers(#21960,#21953) +literals("first","first",#21960) +decl(#21960,#21956) +#21961=* +exprs(#21961,68,#21958,-1,"{length}") +#21962=@"loc,{#10000},13,22,13,29" +locations_default(#21962,#10000,13,22,13,29) +hasLocation(#21961,#21962) +expr_containers(#21961,#21953) +#21963=* +properties(#21963,#21961,0,0,"length") +hasLocation(#21963,#20449) +#21964=* +exprs(#21964,0,#21963,0,"length") +hasLocation(#21964,#20449) +expr_containers(#21964,#21953) +literals("length","length",#21964) +#21965=* +exprs(#21965,78,#21963,1,"length") +hasLocation(#21965,#20449) +expr_containers(#21965,#21953) +literals("length","length",#21965) +decl(#21965,#21957) +array_size(#21958,1) +has_rest_parameter(#21953) +is_async(#21953) +#21966=* +exprs(#21966,79,#21953,-2,"length") +hasLocation(#21966,#20459) +expr_containers(#21966,#21953) +literals("length","length",#21966) +bind(#21966,#21957) +#21967=* +stmts(#21967,2,#20001,12,"([first ... length;") +hasLocation(#21967,#20029) +stmt_containers(#21967,#20001) +#21968=* +exprs(#21968,65,#21967,0,"([first ... length") +#21969=@"loc,{#10000},14,1,14,32" +locations_default(#21969,#10000,14,1,14,32) +hasLocation(#21968,#21969) +enclosing_stmt(#21968,#21967) +expr_containers(#21968,#20001) +#21970=* +scopes(#21970,1) +scopenodes(#21968,#21970) +scopenesting(#21970,#20000) +#21971=@"var;{first};{#21970}" +variables(#21971,"first",#21970) +#21972=@"var;{length};{#21970}" +variables(#21972,"length",#21970) +#21973=* +exprs(#21973,67,#21968,0,"[first, ...{length}]") +#21974=@"loc,{#10000},14,2,14,21" +locations_default(#21974,#10000,14,2,14,21) +hasLocation(#21973,#21974) +expr_containers(#21973,#21968) +#21975=* +exprs(#21975,78,#21973,0,"first") +hasLocation(#21975,#20467) +expr_containers(#21975,#21968) +literals("first","first",#21975) +decl(#21975,#21971) +#21976=* +exprs(#21976,68,#21973,-1,"{length}") +#21977=@"loc,{#10000},14,13,14,20" +locations_default(#21977,#10000,14,13,14,20) +hasLocation(#21976,#21977) +expr_containers(#21976,#21968) +#21978=* +properties(#21978,#21976,0,0,"length") +hasLocation(#21978,#20475) +#21979=* +exprs(#21979,0,#21978,0,"length") +hasLocation(#21979,#20475) +expr_containers(#21979,#21968) +literals("length","length",#21979) +#21980=* +exprs(#21980,78,#21978,1,"length") +hasLocation(#21980,#20475) +expr_containers(#21980,#21968) +literals("length","length",#21980) +decl(#21980,#21972) +array_size(#21973,1) +#21981=* +exprs(#21981,79,#21968,-2,"length") +hasLocation(#21981,#20485) +expr_containers(#21981,#21968) +literals("length","length",#21981) +bind(#21981,#21972) +#21982=* +stmts(#21982,1,#20001,13,"{\n con ... tems;\n}") +#21983=@"loc,{#10000},15,1,17,1" +locations_default(#21983,#10000,15,1,17,1) +hasLocation(#21982,#21983) +stmt_containers(#21982,#20001) +#21984=* +scopes(#21984,4) +scopenodes(#21982,#21984) +scopenesting(#21984,#20000) +#21985=@"var;{first};{#21984}" +variables(#21985,"first",#21984) +#21986=@"var;{length};{#21984}" +variables(#21986,"length",#21984) +#21987=* +stmts(#21987,22,#21982,0,"const [ ... items;") +#21988=@"loc,{#10000},16,3,16,37" +locations_default(#21988,#10000,16,3,16,37) +hasLocation(#21987,#21988) +stmt_containers(#21987,#20001) +#21989=* +exprs(#21989,64,#21987,0,"[first, ... = items") +#21990=@"loc,{#10000},16,9,16,36" +locations_default(#21990,#10000,16,9,16,36) +hasLocation(#21989,#21990) +enclosing_stmt(#21989,#21987) +expr_containers(#21989,#20001) +#21991=* +exprs(#21991,67,#21989,0,"[first, ...{length}]") +#21992=@"loc,{#10000},16,9,16,28" +locations_default(#21992,#10000,16,9,16,28) +hasLocation(#21991,#21992) +enclosing_stmt(#21991,#21987) +expr_containers(#21991,#20001) +#21993=* +exprs(#21993,78,#21991,0,"first") +hasLocation(#21993,#20494) +enclosing_stmt(#21993,#21987) +expr_containers(#21993,#20001) +literals("first","first",#21993) +decl(#21993,#21985) +#21994=* +exprs(#21994,68,#21991,-1,"{length}") +#21995=@"loc,{#10000},16,20,16,27" +locations_default(#21995,#10000,16,20,16,27) +hasLocation(#21994,#21995) +enclosing_stmt(#21994,#21987) +expr_containers(#21994,#20001) +#21996=* +properties(#21996,#21994,0,0,"length") +hasLocation(#21996,#20502) +#21997=* +exprs(#21997,0,#21996,0,"length") +hasLocation(#21997,#20502) +enclosing_stmt(#21997,#21987) +expr_containers(#21997,#20001) +literals("length","length",#21997) +#21998=* +exprs(#21998,78,#21996,1,"length") +hasLocation(#21998,#20502) +enclosing_stmt(#21998,#21987) +expr_containers(#21998,#20001) +literals("length","length",#21998) +decl(#21998,#21986) +array_size(#21991,1) +#21999=* +exprs(#21999,79,#21989,1,"items") +hasLocation(#21999,#20510) +enclosing_stmt(#21999,#21987) +expr_containers(#21999,#20001) +literals("items","items",#21999) +#22000=@"var;{items};{#20000}" +variables(#22000,"items",#20000) +bind(#21999,#22000) +#22001=* +stmts(#22001,2,#20001,14,"([first ... items);") +hasLocation(#22001,#20037) +stmt_containers(#22001,#20001) +#22002=* +exprs(#22002,63,#22001,0,"([first ... items)") +#22003=@"loc,{#10000},18,1,18,30" +locations_default(#22003,#10000,18,1,18,30) +hasLocation(#22002,#22003) +enclosing_stmt(#22002,#22001) +expr_containers(#22002,#20001) +#22004=* +exprs(#22004,47,#22002,0,"[first, ... = items") +#22005=@"loc,{#10000},18,2,18,29" +locations_default(#22005,#10000,18,2,18,29) +hasLocation(#22004,#22005) +enclosing_stmt(#22004,#22001) +expr_containers(#22004,#20001) +#22006=* +exprs(#22006,67,#22004,0,"[first, ...{length}]") +#22007=@"loc,{#10000},18,2,18,21" +locations_default(#22007,#10000,18,2,18,21) +hasLocation(#22006,#22007) +enclosing_stmt(#22006,#22001) +expr_containers(#22006,#20001) +#22008=* +exprs(#22008,79,#22006,0,"first") +hasLocation(#22008,#20519) +enclosing_stmt(#22008,#22001) +expr_containers(#22008,#20001) +literals("first","first",#22008) +#22009=@"var;{first};{#20000}" +variables(#22009,"first",#20000) +bind(#22008,#22009) +#22010=* +exprs(#22010,68,#22006,-1,"{length}") +#22011=@"loc,{#10000},18,13,18,20" +locations_default(#22011,#10000,18,13,18,20) +hasLocation(#22010,#22011) +enclosing_stmt(#22010,#22001) +expr_containers(#22010,#20001) +#22012=* +properties(#22012,#22010,0,0,"length") +hasLocation(#22012,#20527) +#22013=* +exprs(#22013,0,#22012,0,"length") +hasLocation(#22013,#20527) +enclosing_stmt(#22013,#22001) +expr_containers(#22013,#20001) +literals("length","length",#22013) +#22014=* +exprs(#22014,79,#22012,1,"length") +hasLocation(#22014,#20527) +enclosing_stmt(#22014,#22001) +expr_containers(#22014,#20001) +literals("length","length",#22014) +#22015=@"var;{length};{#20000}" +variables(#22015,"length",#20000) +bind(#22014,#22015) +array_size(#22006,1) +#22016=* +exprs(#22016,79,#22004,1,"items") +hasLocation(#22016,#20535) +enclosing_stmt(#22016,#22001) +expr_containers(#22016,#20001) +literals("items","items",#22016) +bind(#22016,#22000) +#22017=* +stmts(#22017,21,#20001,15,"for (co ... ems) {}") +hasLocation(#22017,#20039) +stmt_containers(#22017,#20001) +#22018=* +exprs(#22018,79,#22017,1,"items") +hasLocation(#22018,#20565) +enclosing_stmt(#22018,#22017) +expr_containers(#22018,#20001) +literals("items","items",#22018) +bind(#22018,#22000) +#22019=* +scopes(#22019,6) +scopenodes(#22017,#22019) +scopenesting(#22019,#20000) +#22020=@"var;{first};{#22019}" +variables(#22020,"first",#22019) +#22021=@"var;{length};{#22019}" +variables(#22021,"length",#22019) +#22022=* +stmts(#22022,22,#22017,0,"const [ ... ength}]") +#22023=@"loc,{#10000},19,6,19,31" +locations_default(#22023,#10000,19,6,19,31) +hasLocation(#22022,#22023) +stmt_containers(#22022,#20001) +#22024=* +exprs(#22024,64,#22022,0,"[first, ...{length}]") +#22025=@"loc,{#10000},19,12,19,31" +locations_default(#22025,#10000,19,12,19,31) +hasLocation(#22024,#22025) +enclosing_stmt(#22024,#22022) +expr_containers(#22024,#20001) +#22026=* +exprs(#22026,67,#22024,0,"[first, ...{length}]") +hasLocation(#22026,#22025) +enclosing_stmt(#22026,#22022) +expr_containers(#22026,#20001) +#22027=* +exprs(#22027,78,#22026,0,"first") +hasLocation(#22027,#20549) +enclosing_stmt(#22027,#22022) +expr_containers(#22027,#20001) +literals("first","first",#22027) +decl(#22027,#22020) +#22028=* +exprs(#22028,68,#22026,-1,"{length}") +#22029=@"loc,{#10000},19,23,19,30" +locations_default(#22029,#10000,19,23,19,30) +hasLocation(#22028,#22029) +enclosing_stmt(#22028,#22022) +expr_containers(#22028,#20001) +#22030=* +properties(#22030,#22028,0,0,"length") +hasLocation(#22030,#20557) +#22031=* +exprs(#22031,0,#22030,0,"length") +hasLocation(#22031,#20557) +enclosing_stmt(#22031,#22022) +expr_containers(#22031,#20001) +literals("length","length",#22031) +#22032=* +exprs(#22032,78,#22030,1,"length") +hasLocation(#22032,#20557) +enclosing_stmt(#22032,#22022) +expr_containers(#22032,#20001) +literals("length","length",#22032) +decl(#22032,#22021) +array_size(#22026,1) +#22033=* +stmts(#22033,1,#22017,2,"{}") +#22034=@"loc,{#10000},19,43,19,44" +locations_default(#22034,#10000,19,43,19,44) +hasLocation(#22033,#22034) +stmt_containers(#22033,#20001) +#22035=* +stmts(#22035,11,#20001,16,"try {} ... h}]) {}") +hasLocation(#22035,#20041) +stmt_containers(#22035,#20001) +#22036=* +stmts(#22036,1,#22035,0,"{}") +#22037=@"loc,{#10000},20,5,20,6" +locations_default(#22037,#10000,20,5,20,6) +hasLocation(#22036,#22037) +stmt_containers(#22036,#20001) +#22038=* +stmts(#22038,20,#22035,1,"catch ( ... h}]) {}") +#22039=@"loc,{#10000},20,8,20,38" +locations_default(#22039,#10000,20,8,20,38) +hasLocation(#22038,#22039) +stmt_containers(#22038,#20001) +#22040=* +scopes(#22040,2) +scopenodes(#22038,#22040) +scopenesting(#22040,#20000) +#22041=@"var;{first};{#22040}" +variables(#22041,"first",#22040) +#22042=@"var;{length};{#22040}" +variables(#22042,"length",#22040) +#22043=* +exprs(#22043,67,#22038,0,"[first, ...{length}]") +#22044=@"loc,{#10000},20,15,20,34" +locations_default(#22044,#10000,20,15,20,34) +hasLocation(#22043,#22044) +enclosing_stmt(#22043,#22038) +expr_containers(#22043,#20001) +#22045=* +exprs(#22045,78,#22043,0,"first") +hasLocation(#22045,#20585) +enclosing_stmt(#22045,#22038) +expr_containers(#22045,#20001) +literals("first","first",#22045) +decl(#22045,#22041) +#22046=* +exprs(#22046,68,#22043,-1,"{length}") +#22047=@"loc,{#10000},20,26,20,33" +locations_default(#22047,#10000,20,26,20,33) +hasLocation(#22046,#22047) +enclosing_stmt(#22046,#22038) +expr_containers(#22046,#20001) +#22048=* +properties(#22048,#22046,0,0,"length") +hasLocation(#22048,#20593) +#22049=* +exprs(#22049,0,#22048,0,"length") +hasLocation(#22049,#20593) +enclosing_stmt(#22049,#22038) +expr_containers(#22049,#20001) +literals("length","length",#22049) +#22050=* +exprs(#22050,78,#22048,1,"length") +hasLocation(#22050,#20593) +enclosing_stmt(#22050,#22038) +expr_containers(#22050,#20001) +literals("length","length",#22050) +decl(#22050,#22042) +array_size(#22043,1) +#22051=* +stmts(#22051,1,#22038,1,"{}") +#22052=@"loc,{#10000},20,37,20,38" +locations_default(#22052,#10000,20,37,20,38) +hasLocation(#22051,#22052) +stmt_containers(#22051,#20001) +#22053=* +stmts(#22053,2,#20001,17,"([...{x ... items);") +hasLocation(#22053,#20043) +stmt_containers(#22053,#20001) +#22054=* +exprs(#22054,63,#22053,0,"([...{x ... items)") +#22055=@"loc,{#10000},21,1,21,25" +locations_default(#22055,#10000,21,1,21,25) +hasLocation(#22054,#22055) +enclosing_stmt(#22054,#22053) +expr_containers(#22054,#20001) +#22056=* +exprs(#22056,47,#22054,0,"[...{x: ... = items") +#22057=@"loc,{#10000},21,2,21,24" +locations_default(#22057,#10000,21,2,21,24) +hasLocation(#22056,#22057) +enclosing_stmt(#22056,#22053) +expr_containers(#22056,#20001) +#22058=* +exprs(#22058,67,#22056,0,"[...{x: obj.x}]") +#22059=@"loc,{#10000},21,2,21,16" +locations_default(#22059,#10000,21,2,21,16) +hasLocation(#22058,#22059) +enclosing_stmt(#22058,#22053) +expr_containers(#22058,#20001) +#22060=* +exprs(#22060,68,#22058,-1,"{x: obj.x}") +#22061=@"loc,{#10000},21,6,21,15" +locations_default(#22061,#10000,21,6,21,15) +hasLocation(#22060,#22061) +enclosing_stmt(#22060,#22053) +expr_containers(#22060,#20001) +#22062=* +properties(#22062,#22060,0,0,"x: obj.x") +#22063=@"loc,{#10000},21,7,21,14" +locations_default(#22063,#10000,21,7,21,14) +hasLocation(#22062,#22063) +#22064=* +exprs(#22064,0,#22062,0,"x") +hasLocation(#22064,#20613) +enclosing_stmt(#22064,#22053) +expr_containers(#22064,#20001) +literals("x","x",#22064) +#22065=* +exprs(#22065,14,#22062,1,"obj.x") +#22066=@"loc,{#10000},21,10,21,14" +locations_default(#22066,#10000,21,10,21,14) +hasLocation(#22065,#22066) +enclosing_stmt(#22065,#22053) +expr_containers(#22065,#20001) +#22067=* +exprs(#22067,79,#22065,0,"obj") +hasLocation(#22067,#20617) +enclosing_stmt(#22067,#22053) +expr_containers(#22067,#20001) +literals("obj","obj",#22067) +#22068=@"var;{obj};{#20000}" +variables(#22068,"obj",#20000) +bind(#22067,#22068) +#22069=* +exprs(#22069,0,#22065,1,"x") +hasLocation(#22069,#20621) +enclosing_stmt(#22069,#22053) +expr_containers(#22069,#20001) +literals("x","x",#22069) +array_size(#22058,0) +#22070=* +exprs(#22070,79,#22056,1,"items") +hasLocation(#22070,#20629) +enclosing_stmt(#22070,#22053) +expr_containers(#22070,#20001) +literals("items","items",#22070) +bind(#22070,#22000) +#22071=* +stmts(#22071,2,#20001,18,"([...(o ... items);") +hasLocation(#22071,#20047) +stmt_containers(#22071,#20001) +#22072=* +exprs(#22072,63,#22071,0,"([...(o ... items)") +#22073=@"loc,{#10000},23,1,23,22" +locations_default(#22073,#10000,23,1,23,22) +hasLocation(#22072,#22073) +enclosing_stmt(#22072,#22071) +expr_containers(#22072,#20001) +#22074=* +exprs(#22074,47,#22072,0,"[...(obj.x)] = items") +#22075=@"loc,{#10000},23,2,23,21" +locations_default(#22075,#10000,23,2,23,21) +hasLocation(#22074,#22075) +enclosing_stmt(#22074,#22071) +expr_containers(#22074,#20001) +#22076=* +exprs(#22076,67,#22074,0,"[...(obj.x)]") +#22077=@"loc,{#10000},23,2,23,13" +locations_default(#22077,#10000,23,2,23,13) +hasLocation(#22076,#22077) +enclosing_stmt(#22076,#22071) +expr_containers(#22076,#20001) +#22078=* +exprs(#22078,63,#22076,-1,"(obj.x)") +#22079=@"loc,{#10000},23,6,23,12" +locations_default(#22079,#10000,23,6,23,12) +hasLocation(#22078,#22079) +enclosing_stmt(#22078,#22071) +expr_containers(#22078,#20001) +#22080=* +exprs(#22080,14,#22078,0,"obj.x") +#22081=@"loc,{#10000},23,7,23,11" +locations_default(#22081,#10000,23,7,23,11) +hasLocation(#22080,#22081) +enclosing_stmt(#22080,#22071) +expr_containers(#22080,#20001) +#22082=* +exprs(#22082,79,#22080,0,"obj") +hasLocation(#22082,#20643) +enclosing_stmt(#22082,#22071) +expr_containers(#22082,#20001) +literals("obj","obj",#22082) +bind(#22082,#22068) +#22083=* +exprs(#22083,0,#22080,1,"x") +hasLocation(#22083,#20647) +enclosing_stmt(#22083,#22071) +expr_containers(#22083,#20001) +literals("x","x",#22083) +array_size(#22076,0) +#22084=* +exprs(#22084,79,#22074,1,"items") +hasLocation(#22084,#20655) +enclosing_stmt(#22084,#22071) +expr_containers(#22084,#20001) +literals("items","items",#22084) +bind(#22084,#22000) +#22085=* +stmts(#22085,2,#20001,19,"([...(x)] = items);") +hasLocation(#22085,#20049) +stmt_containers(#22085,#20001) +#22086=* +exprs(#22086,63,#22085,0,"([...(x)] = items)") +#22087=@"loc,{#10000},24,1,24,18" +locations_default(#22087,#10000,24,1,24,18) +hasLocation(#22086,#22087) +enclosing_stmt(#22086,#22085) +expr_containers(#22086,#20001) +#22088=* +exprs(#22088,47,#22086,0,"[...(x)] = items") +#22089=@"loc,{#10000},24,2,24,17" +locations_default(#22089,#10000,24,2,24,17) +hasLocation(#22088,#22089) +enclosing_stmt(#22088,#22085) +expr_containers(#22088,#20001) +#22090=* +exprs(#22090,67,#22088,0,"[...(x)]") +#22091=@"loc,{#10000},24,2,24,9" +locations_default(#22091,#10000,24,2,24,9) +hasLocation(#22090,#22091) +enclosing_stmt(#22090,#22085) +expr_containers(#22090,#20001) +#22092=* +exprs(#22092,63,#22090,-1,"(x)") +#22093=@"loc,{#10000},24,6,24,8" +locations_default(#22093,#10000,24,6,24,8) +hasLocation(#22092,#22093) +enclosing_stmt(#22092,#22085) +expr_containers(#22092,#20001) +#22094=* +exprs(#22094,79,#22092,0,"x") +hasLocation(#22094,#20669) +enclosing_stmt(#22094,#22085) +expr_containers(#22094,#20001) +literals("x","x",#22094) +#22095=@"var;{x};{#20000}" +variables(#22095,"x",#20000) +bind(#22094,#22095) +array_size(#22090,0) +#22096=* +exprs(#22096,79,#22088,1,"items") +hasLocation(#22096,#20677) +enclosing_stmt(#22096,#22085) +expr_containers(#22096,#20001) +literals("items","items",#22096) +bind(#22096,#22000) +#22097=* +stmts(#22097,2,#20001,20,"([...ob ... items);") +hasLocation(#22097,#20051) +stmt_containers(#22097,#20001) +#22098=* +exprs(#22098,63,#22097,0,"([...obj.x] = items)") +#22099=@"loc,{#10000},25,1,25,20" +locations_default(#22099,#10000,25,1,25,20) +hasLocation(#22098,#22099) +enclosing_stmt(#22098,#22097) +expr_containers(#22098,#20001) +#22100=* +exprs(#22100,47,#22098,0,"[...obj.x] = items") +#22101=@"loc,{#10000},25,2,25,19" +locations_default(#22101,#10000,25,2,25,19) +hasLocation(#22100,#22101) +enclosing_stmt(#22100,#22097) +expr_containers(#22100,#20001) +#22102=* +exprs(#22102,67,#22100,0,"[...obj.x]") +#22103=@"loc,{#10000},25,2,25,11" +locations_default(#22103,#10000,25,2,25,11) +hasLocation(#22102,#22103) +enclosing_stmt(#22102,#22097) +expr_containers(#22102,#20001) +#22104=* +exprs(#22104,14,#22102,-1,"obj.x") +#22105=@"loc,{#10000},25,6,25,10" +locations_default(#22105,#10000,25,6,25,10) +hasLocation(#22104,#22105) +enclosing_stmt(#22104,#22097) +expr_containers(#22104,#20001) +#22106=* +exprs(#22106,79,#22104,0,"obj") +hasLocation(#22106,#20689) +enclosing_stmt(#22106,#22097) +expr_containers(#22106,#20001) +literals("obj","obj",#22106) +bind(#22106,#22068) +#22107=* +exprs(#22107,0,#22104,1,"x") +hasLocation(#22107,#20693) +enclosing_stmt(#22107,#22097) +expr_containers(#22107,#20001) +literals("x","x",#22107) +array_size(#22102,0) +#22108=* +exprs(#22108,79,#22100,1,"items") +hasLocation(#22108,#20699) +enclosing_stmt(#22108,#22097) +expr_containers(#22108,#20001) +literals("items","items",#22108) +bind(#22108,#22000) +#22109=* +stmts(#22109,2,#20001,21,"({...(o ... = obj);") +hasLocation(#22109,#20053) +stmt_containers(#22109,#20001) +#22110=* +exprs(#22110,63,#22109,0,"({...(o ... = obj)") +#22111=@"loc,{#10000},26,1,26,23" +locations_default(#22111,#10000,26,1,26,23) +hasLocation(#22110,#22111) +enclosing_stmt(#22110,#22109) +expr_containers(#22110,#20001) +#22112=* +exprs(#22112,47,#22110,0,"{...(ob ... } = obj") +#22113=@"loc,{#10000},26,2,26,22" +locations_default(#22113,#10000,26,2,26,22) +hasLocation(#22112,#22113) +enclosing_stmt(#22112,#22109) +expr_containers(#22112,#20001) +#22114=* +exprs(#22114,68,#22112,0,"{...(obj.rest)}") +#22115=@"loc,{#10000},26,2,26,16" +locations_default(#22115,#10000,26,2,26,16) +hasLocation(#22114,#22115) +enclosing_stmt(#22114,#22109) +expr_containers(#22114,#20001) +#22116=* +exprs(#22116,63,#22114,-1,"(obj.rest)") +#22117=@"loc,{#10000},26,6,26,15" +locations_default(#22117,#10000,26,6,26,15) +hasLocation(#22116,#22117) +enclosing_stmt(#22116,#22109) +expr_containers(#22116,#20001) +#22118=* +exprs(#22118,14,#22116,0,"obj.rest") +#22119=@"loc,{#10000},26,7,26,14" +locations_default(#22119,#10000,26,7,26,14) +hasLocation(#22118,#22119) +enclosing_stmt(#22118,#22109) +expr_containers(#22118,#20001) +#22120=* +exprs(#22120,79,#22118,0,"obj") +hasLocation(#22120,#20713) +enclosing_stmt(#22120,#22109) +expr_containers(#22120,#20001) +literals("obj","obj",#22120) +bind(#22120,#22068) +#22121=* +exprs(#22121,0,#22118,1,"rest") +hasLocation(#22121,#20717) +enclosing_stmt(#22121,#22109) +expr_containers(#22121,#20001) +literals("rest","rest",#22121) +#22122=* +exprs(#22122,79,#22112,1,"obj") +hasLocation(#22122,#20725) +enclosing_stmt(#22122,#22109) +expr_containers(#22122,#20001) +literals("obj","obj",#22122) +bind(#22122,#22068) +#22123=* +stmts(#22123,1,#20001,22,"{\n con ... obj;\n}") +#22124=@"loc,{#10000},28,1,30,1" +locations_default(#22124,#10000,28,1,30,1) +hasLocation(#22123,#22124) +stmt_containers(#22123,#20001) +#22125=* +scopes(#22125,4) +scopenodes(#22123,#22125) +scopenesting(#22125,#20000) +#22126=@"var;{x};{#22125}" +variables(#22126,"x",#22125) +#22127=@"var;{rest};{#22125}" +variables(#22127,"rest",#22125) +#22128=* +stmts(#22128,22,#22123,0,"const { ... = obj;") +#22129=@"loc,{#10000},29,3,29,27" +locations_default(#22129,#10000,29,3,29,27) +hasLocation(#22128,#22129) +stmt_containers(#22128,#20001) +#22130=* +exprs(#22130,64,#22128,0,"{x, ...rest} = obj") +#22131=@"loc,{#10000},29,9,29,26" +locations_default(#22131,#10000,29,9,29,26) +hasLocation(#22130,#22131) +enclosing_stmt(#22130,#22128) +expr_containers(#22130,#20001) +#22132=* +exprs(#22132,68,#22130,0,"{x, ...rest}") +#22133=@"loc,{#10000},29,9,29,20" +locations_default(#22133,#10000,29,9,29,20) +hasLocation(#22132,#22133) +enclosing_stmt(#22132,#22128) +expr_containers(#22132,#20001) +#22134=* +properties(#22134,#22132,0,0,"x") +hasLocation(#22134,#20736) +#22135=* +exprs(#22135,0,#22134,0,"x") +hasLocation(#22135,#20736) +enclosing_stmt(#22135,#22128) +expr_containers(#22135,#20001) +literals("x","x",#22135) +#22136=* +exprs(#22136,78,#22134,1,"x") +hasLocation(#22136,#20736) +enclosing_stmt(#22136,#22128) +expr_containers(#22136,#20001) +literals("x","x",#22136) +decl(#22136,#22126) +#22137=* +exprs(#22137,78,#22132,-1,"rest") +hasLocation(#22137,#20742) +enclosing_stmt(#22137,#22128) +expr_containers(#22137,#20001) +literals("rest","rest",#22137) +decl(#22137,#22127) +#22138=* +exprs(#22138,79,#22130,1,"obj") +hasLocation(#22138,#20748) +enclosing_stmt(#22138,#22128) +expr_containers(#22138,#20001) +literals("obj","obj",#22138) +bind(#22138,#22068) +#22139=* +stmts(#22139,2,#20001,23,"({x, .. ... = obj);") +hasLocation(#22139,#20063) +stmt_containers(#22139,#20001) +#22140=* +exprs(#22140,63,#22139,0,"({x, .. ... = obj)") +#22141=@"loc,{#10000},31,1,31,24" +locations_default(#22141,#10000,31,1,31,24) +hasLocation(#22140,#22141) +enclosing_stmt(#22140,#22139) +expr_containers(#22140,#20001) +#22142=* +exprs(#22142,47,#22140,0,"{x, ... ... } = obj") +#22143=@"loc,{#10000},31,2,31,23" +locations_default(#22143,#10000,31,2,31,23) +hasLocation(#22142,#22143) +enclosing_stmt(#22142,#22139) +expr_containers(#22142,#20001) +#22144=* +exprs(#22144,68,#22142,0,"{x, ...obj.rest}") +#22145=@"loc,{#10000},31,2,31,17" +locations_default(#22145,#10000,31,2,31,17) +hasLocation(#22144,#22145) +enclosing_stmt(#22144,#22139) +expr_containers(#22144,#20001) +#22146=* +properties(#22146,#22144,0,0,"x") +hasLocation(#22146,#20757) +#22147=* +exprs(#22147,0,#22146,0,"x") +hasLocation(#22147,#20757) +enclosing_stmt(#22147,#22139) +expr_containers(#22147,#20001) +literals("x","x",#22147) +#22148=* +exprs(#22148,79,#22146,1,"x") +hasLocation(#22148,#20757) +enclosing_stmt(#22148,#22139) +expr_containers(#22148,#20001) +literals("x","x",#22148) +bind(#22148,#22095) +#22149=* +exprs(#22149,14,#22144,-1,"obj.rest") +#22150=@"loc,{#10000},31,9,31,16" +locations_default(#22150,#10000,31,9,31,16) +hasLocation(#22149,#22150) +enclosing_stmt(#22149,#22139) +expr_containers(#22149,#20001) +#22151=* +exprs(#22151,79,#22149,0,"obj") +hasLocation(#22151,#20763) +enclosing_stmt(#22151,#22139) +expr_containers(#22151,#20001) +literals("obj","obj",#22151) +bind(#22151,#22068) +#22152=* +exprs(#22152,0,#22149,1,"rest") +hasLocation(#22152,#20767) +enclosing_stmt(#22152,#22139) +expr_containers(#22152,#20001) +literals("rest","rest",#22152) +#22153=* +exprs(#22153,79,#22142,1,"obj") +hasLocation(#22153,#20773) +enclosing_stmt(#22153,#22139) +expr_containers(#22153,#20001) +literals("obj","obj",#22153) +bind(#22153,#22068) +#22154=* +stmts(#22154,2,#20001,24,"({ ...obj, });") +hasLocation(#22154,#20065) +stmt_containers(#22154,#20001) +#22155=* +exprs(#22155,63,#22154,0,"({ ...obj, })") +#22156=@"loc,{#10000},32,1,32,13" +locations_default(#22156,#10000,32,1,32,13) +hasLocation(#22155,#22156) +enclosing_stmt(#22155,#22154) +expr_containers(#22155,#20001) +#22157=* +exprs(#22157,8,#22155,0,"{ ...obj, }") +#22158=@"loc,{#10000},32,2,32,12" +locations_default(#22158,#10000,32,2,32,12) +hasLocation(#22157,#22158) +enclosing_stmt(#22157,#22154) +expr_containers(#22157,#20001) +#22159=* +properties(#22159,#22157,0,0,"...obj") +#22160=@"loc,{#10000},32,4,32,9" +locations_default(#22160,#10000,32,4,32,9) +hasLocation(#22159,#22160) +#22161=* +exprs(#22161,66,#22159,1,"...obj") +hasLocation(#22161,#22160) +enclosing_stmt(#22161,#22154) +expr_containers(#22161,#20001) +#22162=* +exprs(#22162,79,#22161,0,"obj") +hasLocation(#22162,#20785) +enclosing_stmt(#22162,#22154) +expr_containers(#22162,#20001) +literals("obj","obj",#22162) +bind(#22162,#22068) +#22163=* +stmts(#22163,2,#20001,25,"({ ...obj, x: 1 });") +hasLocation(#22163,#20067) +stmt_containers(#22163,#20001) +#22164=* +exprs(#22164,63,#22163,0,"({ ...obj, x: 1 })") +#22165=@"loc,{#10000},33,1,33,18" +locations_default(#22165,#10000,33,1,33,18) +hasLocation(#22164,#22165) +enclosing_stmt(#22164,#22163) +expr_containers(#22164,#20001) +#22166=* +exprs(#22166,8,#22164,0,"{ ...obj, x: 1 }") +#22167=@"loc,{#10000},33,2,33,17" +locations_default(#22167,#10000,33,2,33,17) +hasLocation(#22166,#22167) +enclosing_stmt(#22166,#22163) +expr_containers(#22166,#20001) +#22168=* +properties(#22168,#22166,0,0,"...obj") +#22169=@"loc,{#10000},33,4,33,9" +locations_default(#22169,#10000,33,4,33,9) +hasLocation(#22168,#22169) +#22170=* +exprs(#22170,66,#22168,1,"...obj") +hasLocation(#22170,#22169) +enclosing_stmt(#22170,#22163) +expr_containers(#22170,#20001) +#22171=* +exprs(#22171,79,#22170,0,"obj") +hasLocation(#22171,#20801) +enclosing_stmt(#22171,#22163) +expr_containers(#22171,#20001) +literals("obj","obj",#22171) +bind(#22171,#22068) +#22172=* +properties(#22172,#22166,1,0,"x: 1") +#22173=@"loc,{#10000},33,12,33,15" +locations_default(#22173,#10000,33,12,33,15) +hasLocation(#22172,#22173) +#22174=* +exprs(#22174,0,#22172,0,"x") +hasLocation(#22174,#20805) +enclosing_stmt(#22174,#22163) +expr_containers(#22174,#20001) +literals("x","x",#22174) +#22175=* +exprs(#22175,3,#22172,1,"1") +hasLocation(#22175,#20809) +enclosing_stmt(#22175,#22163) +expr_containers(#22175,#20001) +literals("1","1",#22175) +#22176=* +stmts(#22176,2,#20001,26,"({ ...a, ...b });") +hasLocation(#22176,#20069) +stmt_containers(#22176,#20001) +#22177=* +exprs(#22177,63,#22176,0,"({ ...a, ...b })") +#22178=@"loc,{#10000},34,1,34,16" +locations_default(#22178,#10000,34,1,34,16) +hasLocation(#22177,#22178) +enclosing_stmt(#22177,#22176) +expr_containers(#22177,#20001) +#22179=* +exprs(#22179,8,#22177,0,"{ ...a, ...b }") +#22180=@"loc,{#10000},34,2,34,15" +locations_default(#22180,#10000,34,2,34,15) +hasLocation(#22179,#22180) +enclosing_stmt(#22179,#22176) +expr_containers(#22179,#20001) +#22181=* +properties(#22181,#22179,0,0,"...a") +#22182=@"loc,{#10000},34,4,34,7" +locations_default(#22182,#10000,34,4,34,7) +hasLocation(#22181,#22182) +#22183=* +exprs(#22183,66,#22181,1,"...a") +hasLocation(#22183,#22182) +enclosing_stmt(#22183,#22176) +expr_containers(#22183,#20001) +#22184=* +exprs(#22184,79,#22183,0,"a") +hasLocation(#22184,#20823) +enclosing_stmt(#22184,#22176) +expr_containers(#22184,#20001) +literals("a","a",#22184) +#22185=@"var;{a};{#20000}" +variables(#22185,"a",#20000) +bind(#22184,#22185) +#22186=* +properties(#22186,#22179,1,0,"...b") +#22187=@"loc,{#10000},34,10,34,13" +locations_default(#22187,#10000,34,10,34,13) +hasLocation(#22186,#22187) +#22188=* +exprs(#22188,66,#22186,1,"...b") +hasLocation(#22188,#22187) +enclosing_stmt(#22188,#22176) +expr_containers(#22188,#20001) +#22189=* +exprs(#22189,79,#22188,0,"b") +hasLocation(#22189,#20829) +enclosing_stmt(#22189,#22176) +expr_containers(#22189,#20001) +literals("b","b",#22189) +#22190=@"var;{b};{#20000}" +variables(#22190,"b",#20000) +bind(#22189,#22190) +#22191=* +stmts(#22191,1,#20001,27,"{\n con ... nput;\n}") +#22192=@"loc,{#10000},36,1,38,1" +locations_default(#22192,#10000,36,1,38,1) +hasLocation(#22191,#22192) +stmt_containers(#22191,#20001) +#22193=* +scopes(#22193,4) +scopenodes(#22191,#22193) +scopenesting(#22193,#20000) +#22194=@"var;{x};{#22193}" +variables(#22194,"x",#22193) +#22195=@"var;{rest};{#22193}" +variables(#22195,"rest",#22193) +#22196=* +stmts(#22196,22,#22191,0,"const { ... input;") +#22197=@"loc,{#10000},37,3,37,46" +locations_default(#22197,#10000,37,3,37,46) +hasLocation(#22196,#22197) +stmt_containers(#22196,#20001) +#22198=* +exprs(#22198,64,#22196,0,"{x = {. ... = input") +#22199=@"loc,{#10000},37,9,37,45" +locations_default(#22199,#10000,37,9,37,45) +hasLocation(#22198,#22199) +enclosing_stmt(#22198,#22196) +expr_containers(#22198,#20001) +#22200=* +exprs(#22200,68,#22198,0,"{x = {. ... ..rest}") +#22201=@"loc,{#10000},37,9,37,37" +locations_default(#22201,#10000,37,9,37,37) +hasLocation(#22200,#22201) +enclosing_stmt(#22200,#22196) +expr_containers(#22200,#20001) +#22202=* +properties(#22202,#22200,0,0,"x = {...obj, y: 1}") +#22203=@"loc,{#10000},37,10,37,27" +locations_default(#22203,#10000,37,10,37,27) +hasLocation(#22202,#22203) +#22204=* +exprs(#22204,0,#22202,0,"x") +hasLocation(#22204,#20842) +enclosing_stmt(#22204,#22196) +expr_containers(#22204,#20001) +literals("x","x",#22204) +#22205=* +exprs(#22205,78,#22202,1,"x") +hasLocation(#22205,#20842) +enclosing_stmt(#22205,#22196) +expr_containers(#22205,#20001) +literals("x","x",#22205) +decl(#22205,#22194) +#22206=* +exprs(#22206,8,#22202,2,"{...obj, y: 1}") +#22207=@"loc,{#10000},37,14,37,27" +locations_default(#22207,#10000,37,14,37,27) +hasLocation(#22206,#22207) +enclosing_stmt(#22206,#22196) +expr_containers(#22206,#20001) +#22208=* +properties(#22208,#22206,0,0,"...obj") +#22209=@"loc,{#10000},37,15,37,20" +locations_default(#22209,#10000,37,15,37,20) +hasLocation(#22208,#22209) +#22210=* +exprs(#22210,66,#22208,1,"...obj") +hasLocation(#22210,#22209) +enclosing_stmt(#22210,#22196) +expr_containers(#22210,#20001) +#22211=* +exprs(#22211,79,#22210,0,"obj") +hasLocation(#22211,#20850) +enclosing_stmt(#22211,#22196) +expr_containers(#22211,#20001) +literals("obj","obj",#22211) +bind(#22211,#22068) +#22212=* +properties(#22212,#22206,1,0,"y: 1") +#22213=@"loc,{#10000},37,23,37,26" +locations_default(#22213,#10000,37,23,37,26) +hasLocation(#22212,#22213) +#22214=* +exprs(#22214,0,#22212,0,"y") +hasLocation(#22214,#20854) +enclosing_stmt(#22214,#22196) +expr_containers(#22214,#20001) +literals("y","y",#22214) +#22215=* +exprs(#22215,3,#22212,1,"1") +hasLocation(#22215,#20858) +enclosing_stmt(#22215,#22196) +expr_containers(#22215,#20001) +literals("1","1",#22215) +#22216=* +exprs(#22216,78,#22200,-1,"rest") +hasLocation(#22216,#20866) +enclosing_stmt(#22216,#22196) +expr_containers(#22216,#20001) +literals("rest","rest",#22216) +decl(#22216,#22195) +#22217=* +exprs(#22217,79,#22198,1,"input") +hasLocation(#22217,#20872) +enclosing_stmt(#22217,#22196) +expr_containers(#22217,#20001) +literals("input","input",#22217) +#22218=@"var;{input};{#20000}" +variables(#22218,"input",#20000) +bind(#22217,#22218) +#22219=* +stmts(#22219,2,#20001,28,"({x = { ... ) => x;") +hasLocation(#22219,#20079) +stmt_containers(#22219,#20001) +#22220=* +exprs(#22220,65,#22219,0,"({x = { ... }) => x") +#22221=@"loc,{#10000},39,1,39,36" +locations_default(#22221,#10000,39,1,39,36) +hasLocation(#22220,#22221) +enclosing_stmt(#22220,#22219) +expr_containers(#22220,#20001) +#22222=* +scopes(#22222,1) +scopenodes(#22220,#22222) +scopenesting(#22222,#20000) +#22223=@"var;{x};{#22222}" +variables(#22223,"x",#22222) +#22224=@"var;{rest};{#22222}" +variables(#22224,"rest",#22222) +#22225=* +exprs(#22225,68,#22220,0,"{x = {. ... ..rest}") +#22226=@"loc,{#10000},39,2,39,30" +locations_default(#22226,#10000,39,2,39,30) +hasLocation(#22225,#22226) +expr_containers(#22225,#22220) +#22227=* +properties(#22227,#22225,0,0,"x = {...obj, y: 1}") +#22228=@"loc,{#10000},39,3,39,20" +locations_default(#22228,#10000,39,3,39,20) +hasLocation(#22227,#22228) +#22229=* +exprs(#22229,0,#22227,0,"x") +hasLocation(#22229,#20881) +expr_containers(#22229,#22220) +literals("x","x",#22229) +#22230=* +exprs(#22230,78,#22227,1,"x") +hasLocation(#22230,#20881) +expr_containers(#22230,#22220) +literals("x","x",#22230) +decl(#22230,#22223) +#22231=* +exprs(#22231,8,#22227,2,"{...obj, y: 1}") +#22232=@"loc,{#10000},39,7,39,20" +locations_default(#22232,#10000,39,7,39,20) +hasLocation(#22231,#22232) +expr_containers(#22231,#22220) +#22233=* +properties(#22233,#22231,0,0,"...obj") +#22234=@"loc,{#10000},39,8,39,13" +locations_default(#22234,#10000,39,8,39,13) +hasLocation(#22233,#22234) +#22235=* +exprs(#22235,66,#22233,1,"...obj") +hasLocation(#22235,#22234) +expr_containers(#22235,#22220) +#22236=* +exprs(#22236,79,#22235,0,"obj") +hasLocation(#22236,#20889) +expr_containers(#22236,#22220) +literals("obj","obj",#22236) +bind(#22236,#22068) +#22237=* +properties(#22237,#22231,1,0,"y: 1") +#22238=@"loc,{#10000},39,16,39,19" +locations_default(#22238,#10000,39,16,39,19) +hasLocation(#22237,#22238) +#22239=* +exprs(#22239,0,#22237,0,"y") +hasLocation(#22239,#20893) +expr_containers(#22239,#22220) +literals("y","y",#22239) +#22240=* +exprs(#22240,3,#22237,1,"1") +hasLocation(#22240,#20897) +expr_containers(#22240,#22220) +literals("1","1",#22240) +#22241=* +exprs(#22241,78,#22225,-1,"rest") +hasLocation(#22241,#20905) +expr_containers(#22241,#22220) +literals("rest","rest",#22241) +decl(#22241,#22224) +#22242=* +exprs(#22242,79,#22220,-2,"x") +hasLocation(#22242,#20913) +expr_containers(#22242,#22220) +literals("x","x",#22242) +bind(#22242,#22223) +#22243=* +stmts(#22243,2,#20001,29,"async ( ... ) => x;") +hasLocation(#22243,#20081) +stmt_containers(#22243,#20001) +#22244=* +exprs(#22244,65,#22243,0,"async ( ... }) => x") +#22245=@"loc,{#10000},40,1,40,42" +locations_default(#22245,#10000,40,1,40,42) +hasLocation(#22244,#22245) +enclosing_stmt(#22244,#22243) +expr_containers(#22244,#20001) +#22246=* +scopes(#22246,1) +scopenodes(#22244,#22246) +scopenesting(#22246,#20000) +#22247=@"var;{x};{#22246}" +variables(#22247,"x",#22246) +#22248=@"var;{rest};{#22246}" +variables(#22248,"rest",#22246) +#22249=* +exprs(#22249,68,#22244,0,"{x = {. ... ..rest}") +#22250=@"loc,{#10000},40,8,40,36" +locations_default(#22250,#10000,40,8,40,36) +hasLocation(#22249,#22250) +expr_containers(#22249,#22244) +#22251=* +properties(#22251,#22249,0,0,"x = {...obj, y: 1}") +#22252=@"loc,{#10000},40,9,40,26" +locations_default(#22252,#10000,40,9,40,26) +hasLocation(#22251,#22252) +#22253=* +exprs(#22253,0,#22251,0,"x") +hasLocation(#22253,#20923) +expr_containers(#22253,#22244) +literals("x","x",#22253) +#22254=* +exprs(#22254,78,#22251,1,"x") +hasLocation(#22254,#20923) +expr_containers(#22254,#22244) +literals("x","x",#22254) +decl(#22254,#22247) +#22255=* +exprs(#22255,8,#22251,2,"{...obj, y: 1}") +#22256=@"loc,{#10000},40,13,40,26" +locations_default(#22256,#10000,40,13,40,26) +hasLocation(#22255,#22256) +expr_containers(#22255,#22244) +#22257=* +properties(#22257,#22255,0,0,"...obj") +#22258=@"loc,{#10000},40,14,40,19" +locations_default(#22258,#10000,40,14,40,19) +hasLocation(#22257,#22258) +#22259=* +exprs(#22259,66,#22257,1,"...obj") +hasLocation(#22259,#22258) +expr_containers(#22259,#22244) +#22260=* +exprs(#22260,79,#22259,0,"obj") +hasLocation(#22260,#20931) +expr_containers(#22260,#22244) +literals("obj","obj",#22260) +bind(#22260,#22068) +#22261=* +properties(#22261,#22255,1,0,"y: 1") +#22262=@"loc,{#10000},40,22,40,25" +locations_default(#22262,#10000,40,22,40,25) +hasLocation(#22261,#22262) +#22263=* +exprs(#22263,0,#22261,0,"y") +hasLocation(#22263,#20935) +expr_containers(#22263,#22244) +literals("y","y",#22263) +#22264=* +exprs(#22264,3,#22261,1,"1") +hasLocation(#22264,#20939) +expr_containers(#22264,#22244) +literals("1","1",#22264) +#22265=* +exprs(#22265,78,#22249,-1,"rest") +hasLocation(#22265,#20947) +expr_containers(#22265,#22244) +literals("rest","rest",#22265) +decl(#22265,#22248) +is_async(#22244) +#22266=* +exprs(#22266,79,#22244,-2,"x") +hasLocation(#22266,#20955) +expr_containers(#22266,#22244) +literals("x","x",#22266) +bind(#22266,#22247) +#22267=* +stmts(#22267,2,#20001,30,"([x = ( ... ) => x;") +hasLocation(#22267,#20083) +stmt_containers(#22267,#20001) +#22268=* +exprs(#22268,65,#22267,0,"([x = ( ... ]) => x") +#22269=@"loc,{#10000},41,1,41,34" +locations_default(#22269,#10000,41,1,41,34) +hasLocation(#22268,#22269) +enclosing_stmt(#22268,#22267) +expr_containers(#22268,#20001) +#22270=* +scopes(#22270,1) +scopenodes(#22268,#22270) +scopenesting(#22270,#20000) +#22271=@"var;{x};{#22270}" +variables(#22271,"x",#22270) +#22272=@"var;{rest};{#22270}" +variables(#22272,"rest",#22270) +#22273=* +exprs(#22273,67,#22268,0,"[x = (v ... ..rest]") +#22274=@"loc,{#10000},41,2,41,23" +locations_default(#22274,#10000,41,2,41,23) +hasLocation(#22273,#22274) +expr_containers(#22273,#22268) +#22275=* +exprs(#22275,78,#22273,0,"x") +hasLocation(#22275,#20963) +expr_containers(#22275,#22268) +literals("x","x",#22275) +decl(#22275,#22271) +#22276=* +exprs(#22276,78,#22273,-1,"rest") +hasLocation(#22276,#20977) +expr_containers(#22276,#22268) +literals("rest","rest",#22276) +decl(#22276,#22272) +#22277=* +exprs(#22277,63,#22273,-2,"(value)") +#22278=@"loc,{#10000},41,7,41,13" +locations_default(#22278,#10000,41,7,41,13) +hasLocation(#22277,#22278) +expr_containers(#22277,#22268) +#22279=* +exprs(#22279,79,#22277,0,"value") +hasLocation(#22279,#20969) +expr_containers(#22279,#22268) +literals("value","value",#22279) +#22280=@"var;{value};{#20000}" +variables(#22280,"value",#20000) +bind(#22279,#22280) +array_size(#22273,1) +#22281=* +exprs(#22281,7,#22268,-5,"[]") +#22282=@"loc,{#10000},41,27,41,28" +locations_default(#22282,#10000,41,27,41,28) +hasLocation(#22281,#22282) +expr_containers(#22281,#22268) +array_size(#22281,0) +#22283=* +exprs(#22283,79,#22268,-2,"x") +hasLocation(#22283,#20991) +expr_containers(#22283,#22268) +literals("x","x",#22283) +bind(#22283,#22271) +#22284=* +stmts(#22284,2,#20001,31,"async ( ... ) => x;") +hasLocation(#22284,#20085) +stmt_containers(#22284,#20001) +#22285=* +exprs(#22285,65,#22284,0,"async ( ... }) => x") +#22286=@"loc,{#10000},42,1,42,40" +locations_default(#22286,#10000,42,1,42,40) +hasLocation(#22285,#22286) +enclosing_stmt(#22285,#22284) +expr_containers(#22285,#20001) +#22287=* +scopes(#22287,1) +scopenodes(#22285,#22287) +scopenesting(#22287,#20000) +#22288=@"var;{x};{#22287}" +variables(#22288,"x",#22287) +#22289=@"var;{rest};{#22287}" +variables(#22289,"rest",#22287) +#22290=* +exprs(#22290,68,#22285,0,"{x = (v ... ..rest}") +#22291=@"loc,{#10000},42,8,42,29" +locations_default(#22291,#10000,42,8,42,29) +hasLocation(#22290,#22291) +expr_containers(#22290,#22285) +#22292=* +properties(#22292,#22290,0,0,"x = (value)") +#22293=@"loc,{#10000},42,9,42,19" +locations_default(#22293,#10000,42,9,42,19) +hasLocation(#22292,#22293) +#22294=* +exprs(#22294,0,#22292,0,"x") +hasLocation(#22294,#21001) +expr_containers(#22294,#22285) +literals("x","x",#22294) +#22295=* +exprs(#22295,78,#22292,1,"x") +hasLocation(#22295,#21001) +expr_containers(#22295,#22285) +literals("x","x",#22295) +decl(#22295,#22288) +#22296=* +exprs(#22296,63,#22292,2,"(value)") +#22297=@"loc,{#10000},42,13,42,19" +locations_default(#22297,#10000,42,13,42,19) +hasLocation(#22296,#22297) +expr_containers(#22296,#22285) +#22298=* +exprs(#22298,79,#22296,0,"value") +hasLocation(#22298,#21007) +expr_containers(#22298,#22285) +literals("value","value",#22298) +bind(#22298,#22280) +#22299=* +exprs(#22299,78,#22290,-1,"rest") +hasLocation(#22299,#21015) +expr_containers(#22299,#22285) +literals("rest","rest",#22299) +decl(#22299,#22289) +#22300=* +exprs(#22300,8,#22285,-5,"{}") +#22301=@"loc,{#10000},42,33,42,34" +locations_default(#22301,#10000,42,33,42,34) +hasLocation(#22300,#22301) +expr_containers(#22300,#22285) +is_async(#22285) +#22302=* +exprs(#22302,79,#22285,-2,"x") +hasLocation(#22302,#21029) +expr_containers(#22302,#22285) +literals("x","x",#22302) +bind(#22302,#22288) +#22303=* +stmts(#22303,2,#20001,32,"([{...o ... items);") +hasLocation(#22303,#20087) +stmt_containers(#22303,#20001) +#22304=* +exprs(#22304,63,#22303,0,"([{...o ... items)") +#22305=@"loc,{#10000},43,1,43,28" +locations_default(#22305,#10000,43,1,43,28) +hasLocation(#22304,#22305) +enclosing_stmt(#22304,#22303) +expr_containers(#22304,#20001) +#22306=* +exprs(#22306,47,#22304,0,"[{...ob ... = items") +#22307=@"loc,{#10000},43,2,43,27" +locations_default(#22307,#10000,43,2,43,27) +hasLocation(#22306,#22307) +enclosing_stmt(#22306,#22303) +expr_containers(#22306,#20001) +#22308=* +exprs(#22308,67,#22306,0,"[{...obj, x: 1}.x]") +#22309=@"loc,{#10000},43,2,43,19" +locations_default(#22309,#10000,43,2,43,19) +hasLocation(#22308,#22309) +enclosing_stmt(#22308,#22303) +expr_containers(#22308,#20001) +#22310=* +exprs(#22310,14,#22308,0,"{...obj, x: 1}.x") +#22311=@"loc,{#10000},43,3,43,18" +locations_default(#22311,#10000,43,3,43,18) +hasLocation(#22310,#22311) +enclosing_stmt(#22310,#22303) +expr_containers(#22310,#20001) +#22312=* +exprs(#22312,8,#22310,0,"{...obj, x: 1}") +#22313=@"loc,{#10000},43,3,43,16" +locations_default(#22313,#10000,43,3,43,16) +hasLocation(#22312,#22313) +enclosing_stmt(#22312,#22303) +expr_containers(#22312,#20001) +#22314=* +properties(#22314,#22312,0,0,"...obj") +#22315=@"loc,{#10000},43,4,43,9" +locations_default(#22315,#10000,43,4,43,9) +hasLocation(#22314,#22315) +#22316=* +exprs(#22316,66,#22314,1,"...obj") +hasLocation(#22316,#22315) +enclosing_stmt(#22316,#22303) +expr_containers(#22316,#20001) +#22317=* +exprs(#22317,79,#22316,0,"obj") +hasLocation(#22317,#21041) +enclosing_stmt(#22317,#22303) +expr_containers(#22317,#20001) +literals("obj","obj",#22317) +bind(#22317,#22068) +#22318=* +properties(#22318,#22312,1,0,"x: 1") +#22319=@"loc,{#10000},43,12,43,15" +locations_default(#22319,#10000,43,12,43,15) +hasLocation(#22318,#22319) +#22320=* +exprs(#22320,0,#22318,0,"x") +hasLocation(#22320,#21045) +enclosing_stmt(#22320,#22303) +expr_containers(#22320,#20001) +literals("x","x",#22320) +#22321=* +exprs(#22321,3,#22318,1,"1") +hasLocation(#22321,#21049) +enclosing_stmt(#22321,#22303) +expr_containers(#22321,#20001) +literals("1","1",#22321) +#22322=* +exprs(#22322,0,#22310,1,"x") +hasLocation(#22322,#21055) +enclosing_stmt(#22322,#22303) +expr_containers(#22322,#20001) +literals("x","x",#22322) +array_size(#22308,1) +#22323=* +exprs(#22323,79,#22306,1,"items") +hasLocation(#22323,#21061) +enclosing_stmt(#22323,#22303) +expr_containers(#22323,#20001) +literals("items","items",#22323) +bind(#22323,#22000) +#22324=* +stmts(#22324,2,#20001,33,"([...({ ... items);") +hasLocation(#22324,#20089) +stmt_containers(#22324,#20001) +#22325=* +exprs(#22325,63,#22324,0,"([...({ ... items)") +#22326=@"loc,{#10000},44,1,44,33" +locations_default(#22326,#10000,44,1,44,33) +hasLocation(#22325,#22326) +enclosing_stmt(#22325,#22324) +expr_containers(#22325,#20001) +#22327=* +exprs(#22327,47,#22325,0,"[...({. ... = items") +#22328=@"loc,{#10000},44,2,44,32" +locations_default(#22328,#10000,44,2,44,32) +hasLocation(#22327,#22328) +enclosing_stmt(#22327,#22324) +expr_containers(#22327,#20001) +#22329=* +exprs(#22329,67,#22327,0,"[...({. ... 1}).x]") +#22330=@"loc,{#10000},44,2,44,24" +locations_default(#22330,#10000,44,2,44,24) +hasLocation(#22329,#22330) +enclosing_stmt(#22329,#22324) +expr_containers(#22329,#20001) +#22331=* +exprs(#22331,14,#22329,-1,"({...obj, x: 1}).x") +#22332=@"loc,{#10000},44,6,44,23" +locations_default(#22332,#10000,44,6,44,23) +hasLocation(#22331,#22332) +enclosing_stmt(#22331,#22324) +expr_containers(#22331,#20001) +#22333=* +exprs(#22333,63,#22331,0,"({...obj, x: 1})") +#22334=@"loc,{#10000},44,6,44,21" +locations_default(#22334,#10000,44,6,44,21) +hasLocation(#22333,#22334) +enclosing_stmt(#22333,#22324) +expr_containers(#22333,#20001) +#22335=* +exprs(#22335,8,#22333,0,"{...obj, x: 1}") +#22336=@"loc,{#10000},44,7,44,20" +locations_default(#22336,#10000,44,7,44,20) +hasLocation(#22335,#22336) +enclosing_stmt(#22335,#22324) +expr_containers(#22335,#20001) +#22337=* +properties(#22337,#22335,0,0,"...obj") +#22338=@"loc,{#10000},44,8,44,13" +locations_default(#22338,#10000,44,8,44,13) +hasLocation(#22337,#22338) +#22339=* +exprs(#22339,66,#22337,1,"...obj") +hasLocation(#22339,#22338) +enclosing_stmt(#22339,#22324) +expr_containers(#22339,#20001) +#22340=* +exprs(#22340,79,#22339,0,"obj") +hasLocation(#22340,#21079) +enclosing_stmt(#22340,#22324) +expr_containers(#22340,#20001) +literals("obj","obj",#22340) +bind(#22340,#22068) +#22341=* +properties(#22341,#22335,1,0,"x: 1") +#22342=@"loc,{#10000},44,16,44,19" +locations_default(#22342,#10000,44,16,44,19) +hasLocation(#22341,#22342) +#22343=* +exprs(#22343,0,#22341,0,"x") +hasLocation(#22343,#21083) +enclosing_stmt(#22343,#22324) +expr_containers(#22343,#20001) +literals("x","x",#22343) +#22344=* +exprs(#22344,3,#22341,1,"1") +hasLocation(#22344,#21087) +enclosing_stmt(#22344,#22324) +expr_containers(#22344,#20001) +literals("1","1",#22344) +#22345=* +exprs(#22345,0,#22331,1,"x") +hasLocation(#22345,#21095) +enclosing_stmt(#22345,#22324) +expr_containers(#22345,#20001) +literals("x","x",#22345) +array_size(#22329,0) +#22346=* +exprs(#22346,79,#22327,1,"items") +hasLocation(#22346,#21101) +enclosing_stmt(#22346,#22324) +expr_containers(#22346,#20001) +literals("items","items",#22346) +bind(#22346,#22000) +#22347=* +stmts(#22347,2,#20001,34,"({[{... ... input);") +hasLocation(#22347,#20091) +stmt_containers(#22347,#20001) +#22348=* +exprs(#22348,63,#22347,0,"({[{... ... input)") +#22349=@"loc,{#10000},45,1,45,46" +locations_default(#22349,#10000,45,1,45,46) +hasLocation(#22348,#22349) +enclosing_stmt(#22348,#22347) +expr_containers(#22348,#20001) +#22350=* +exprs(#22350,47,#22348,0,"{[{...o ... = input") +#22351=@"loc,{#10000},45,2,45,45" +locations_default(#22351,#10000,45,2,45,45) +hasLocation(#22350,#22351) +enclosing_stmt(#22350,#22347) +expr_containers(#22350,#20001) +#22352=* +exprs(#22352,68,#22350,0,"{[{...o ... ..rest}") +#22353=@"loc,{#10000},45,2,45,37" +locations_default(#22353,#10000,45,2,45,37) +hasLocation(#22352,#22353) +enclosing_stmt(#22352,#22347) +expr_containers(#22352,#20001) +#22354=* +properties(#22354,#22352,0,0,"[{...ob ... : value") +#22355=@"loc,{#10000},45,3,45,27" +locations_default(#22355,#10000,45,3,45,27) +hasLocation(#22354,#22355) +#22356=* +exprs(#22356,14,#22354,0,"{...obj, x: 1}.x") +#22357=@"loc,{#10000},45,4,45,19" +locations_default(#22357,#10000,45,4,45,19) +hasLocation(#22356,#22357) +enclosing_stmt(#22356,#22347) +expr_containers(#22356,#20001) +#22358=* +exprs(#22358,8,#22356,0,"{...obj, x: 1}") +#22359=@"loc,{#10000},45,4,45,17" +locations_default(#22359,#10000,45,4,45,17) +hasLocation(#22358,#22359) +enclosing_stmt(#22358,#22347) +expr_containers(#22358,#20001) +#22360=* +properties(#22360,#22358,0,0,"...obj") +#22361=@"loc,{#10000},45,5,45,10" +locations_default(#22361,#10000,45,5,45,10) +hasLocation(#22360,#22361) +#22362=* +exprs(#22362,66,#22360,1,"...obj") +hasLocation(#22362,#22361) +enclosing_stmt(#22362,#22347) +expr_containers(#22362,#20001) +#22363=* +exprs(#22363,79,#22362,0,"obj") +hasLocation(#22363,#21117) +enclosing_stmt(#22363,#22347) +expr_containers(#22363,#20001) +literals("obj","obj",#22363) +bind(#22363,#22068) +#22364=* +properties(#22364,#22358,1,0,"x: 1") +#22365=@"loc,{#10000},45,13,45,16" +locations_default(#22365,#10000,45,13,45,16) +hasLocation(#22364,#22365) +#22366=* +exprs(#22366,0,#22364,0,"x") +hasLocation(#22366,#21121) +enclosing_stmt(#22366,#22347) +expr_containers(#22366,#20001) +literals("x","x",#22366) +#22367=* +exprs(#22367,3,#22364,1,"1") +hasLocation(#22367,#21125) +enclosing_stmt(#22367,#22347) +expr_containers(#22367,#20001) +literals("1","1",#22367) +#22368=* +exprs(#22368,0,#22356,1,"x") +hasLocation(#22368,#21131) +enclosing_stmt(#22368,#22347) +expr_containers(#22368,#20001) +literals("x","x",#22368) +#22369=* +exprs(#22369,79,#22354,1,"value") +hasLocation(#22369,#21137) +enclosing_stmt(#22369,#22347) +expr_containers(#22369,#20001) +literals("value","value",#22369) +bind(#22369,#22280) +is_computed(#22354) +#22370=* +exprs(#22370,79,#22352,-1,"rest") +hasLocation(#22370,#21143) +enclosing_stmt(#22370,#22347) +expr_containers(#22370,#20001) +literals("rest","rest",#22370) +#22371=@"var;{rest};{#20000}" +variables(#22371,"rest",#20000) +bind(#22370,#22371) +#22372=* +exprs(#22372,79,#22350,1,"input") +hasLocation(#22372,#21149) +enclosing_stmt(#22372,#22347) +expr_containers(#22372,#20001) +literals("input","input",#22372) +bind(#22372,#22218) +#22373=* +stmts(#22373,2,#20001,35,"consume ... x: 1});") +hasLocation(#22373,#20093) +stmt_containers(#22373,#20001) +#22374=* +exprs(#22374,13,#22373,0,"consume ... x: 1})") +#22375=@"loc,{#10000},46,1,46,23" +locations_default(#22375,#10000,46,1,46,23) +hasLocation(#22374,#22375) +enclosing_stmt(#22374,#22373) +expr_containers(#22374,#20001) +#22376=* +exprs(#22376,79,#22374,-1,"consume") +hasLocation(#22376,#21155) +enclosing_stmt(#22376,#22373) +expr_containers(#22376,#20001) +literals("consume","consume",#22376) +#22377=@"var;{consume};{#20000}" +variables(#22377,"consume",#20000) +bind(#22376,#22377) +#22378=* +exprs(#22378,8,#22374,0,"{...obj, x: 1}") +#22379=@"loc,{#10000},46,9,46,22" +locations_default(#22379,#10000,46,9,46,22) +hasLocation(#22378,#22379) +enclosing_stmt(#22378,#22373) +expr_containers(#22378,#20001) +#22380=* +properties(#22380,#22378,0,0,"...obj") +#22381=@"loc,{#10000},46,10,46,15" +locations_default(#22381,#10000,46,10,46,15) +hasLocation(#22380,#22381) +#22382=* +exprs(#22382,66,#22380,1,"...obj") +hasLocation(#22382,#22381) +enclosing_stmt(#22382,#22373) +expr_containers(#22382,#20001) +#22383=* +exprs(#22383,79,#22382,0,"obj") +hasLocation(#22383,#21163) +enclosing_stmt(#22383,#22373) +expr_containers(#22383,#20001) +literals("obj","obj",#22383) +bind(#22383,#22068) +#22384=* +properties(#22384,#22378,1,0,"x: 1") +#22385=@"loc,{#10000},46,18,46,21" +locations_default(#22385,#10000,46,18,46,21) +hasLocation(#22384,#22385) +#22386=* +exprs(#22386,0,#22384,0,"x") +hasLocation(#22386,#21167) +enclosing_stmt(#22386,#22373) +expr_containers(#22386,#20001) +literals("x","x",#22386) +#22387=* +exprs(#22387,3,#22384,1,"1") +hasLocation(#22387,#21171) +enclosing_stmt(#22387,#22373) +expr_containers(#22387,#20001) +literals("1","1",#22387) +#22388=* +stmts(#22388,2,#20001,36,"[...xs, x = 1];") +hasLocation(#22388,#20097) +stmt_containers(#22388,#20001) +#22389=* +exprs(#22389,7,#22388,0,"[...xs, x = 1]") +#22390=@"loc,{#10000},48,1,48,14" +locations_default(#22390,#10000,48,1,48,14) +hasLocation(#22389,#22390) +enclosing_stmt(#22389,#22388) +expr_containers(#22389,#20001) +#22391=* +exprs(#22391,66,#22389,0,"...xs") +#22392=@"loc,{#10000},48,2,48,6" +locations_default(#22392,#10000,48,2,48,6) +hasLocation(#22391,#22392) +enclosing_stmt(#22391,#22388) +expr_containers(#22391,#20001) +#22393=* +exprs(#22393,79,#22391,0,"xs") +hasLocation(#22393,#21183) +enclosing_stmt(#22393,#22388) +expr_containers(#22393,#20001) +literals("xs","xs",#22393) +#22394=@"var;{xs};{#20000}" +variables(#22394,"xs",#20000) +bind(#22393,#22394) +#22395=* +exprs(#22395,47,#22389,1,"x = 1") +#22396=@"loc,{#10000},48,9,48,13" +locations_default(#22396,#10000,48,9,48,13) +hasLocation(#22395,#22396) +enclosing_stmt(#22395,#22388) +expr_containers(#22395,#20001) +#22397=* +exprs(#22397,79,#22395,0,"x") +hasLocation(#22397,#21187) +enclosing_stmt(#22397,#22388) +expr_containers(#22397,#20001) +literals("x","x",#22397) +bind(#22397,#22095) +#22398=* +exprs(#22398,3,#22395,1,"1") +hasLocation(#22398,#21191) +enclosing_stmt(#22398,#22388) +expr_containers(#22398,#20001) +literals("1","1",#22398) +array_size(#22389,2) +#22399=* +stmts(#22399,2,#20001,37,"consume ... x = 1);") +hasLocation(#22399,#20099) +stmt_containers(#22399,#20001) +#22400=* +exprs(#22400,13,#22399,0,"consume ... x = 1)") +#22401=@"loc,{#10000},49,1,49,21" +locations_default(#22401,#10000,49,1,49,21) +hasLocation(#22400,#22401) +enclosing_stmt(#22400,#22399) +expr_containers(#22400,#20001) +#22402=* +exprs(#22402,79,#22400,-1,"consume") +hasLocation(#22402,#21197) +enclosing_stmt(#22402,#22399) +expr_containers(#22402,#20001) +literals("consume","consume",#22402) +bind(#22402,#22377) +#22403=* +exprs(#22403,66,#22400,0,"...xs") +#22404=@"loc,{#10000},49,9,49,13" +locations_default(#22404,#10000,49,9,49,13) +hasLocation(#22403,#22404) +enclosing_stmt(#22403,#22399) +expr_containers(#22403,#20001) +#22405=* +exprs(#22405,79,#22403,0,"xs") +hasLocation(#22405,#21203) +enclosing_stmt(#22405,#22399) +expr_containers(#22405,#20001) +literals("xs","xs",#22405) +bind(#22405,#22394) +#22406=* +exprs(#22406,47,#22400,1,"x = 1") +#22407=@"loc,{#10000},49,16,49,20" +locations_default(#22407,#10000,49,16,49,20) +hasLocation(#22406,#22407) +enclosing_stmt(#22406,#22399) +expr_containers(#22406,#20001) +#22408=* +exprs(#22408,79,#22406,0,"x") +hasLocation(#22408,#21207) +enclosing_stmt(#22408,#22399) +expr_containers(#22408,#20001) +literals("x","x",#22408) +bind(#22408,#22095) +#22409=* +exprs(#22409,3,#22406,1,"1") +hasLocation(#22409,#21211) +enclosing_stmt(#22409,#22399) +expr_containers(#22409,#20001) +literals("1","1",#22409) +#22410=* +stmts(#22410,2,#20001,38,"async ( ... x = 1);") +hasLocation(#22410,#20101) +stmt_containers(#22410,#20001) +#22411=* +exprs(#22411,13,#22410,0,"async (...xs, x = 1)") +#22412=@"loc,{#10000},50,1,50,20" +locations_default(#22412,#10000,50,1,50,20) +hasLocation(#22411,#22412) +enclosing_stmt(#22411,#22410) +expr_containers(#22411,#20001) +#22413=* +exprs(#22413,79,#22411,-1,"async") +hasLocation(#22413,#21217) +enclosing_stmt(#22413,#22410) +expr_containers(#22413,#20001) +literals("async","async",#22413) +#22414=@"var;{async};{#20000}" +variables(#22414,"async",#20000) +bind(#22413,#22414) +#22415=* +exprs(#22415,66,#22411,0,"...xs") +#22416=@"loc,{#10000},50,8,50,12" +locations_default(#22416,#10000,50,8,50,12) +hasLocation(#22415,#22416) +enclosing_stmt(#22415,#22410) +expr_containers(#22415,#20001) +#22417=* +exprs(#22417,79,#22415,0,"xs") +hasLocation(#22417,#21223) +enclosing_stmt(#22417,#22410) +expr_containers(#22417,#20001) +literals("xs","xs",#22417) +bind(#22417,#22394) +#22418=* +exprs(#22418,47,#22411,1,"x = 1") +#22419=@"loc,{#10000},50,15,50,19" +locations_default(#22419,#10000,50,15,50,19) +hasLocation(#22418,#22419) +enclosing_stmt(#22418,#22410) +expr_containers(#22418,#20001) +#22420=* +exprs(#22420,79,#22418,0,"x") +hasLocation(#22420,#21227) +enclosing_stmt(#22420,#22410) +expr_containers(#22420,#20001) +literals("x","x",#22420) +bind(#22420,#22095) +#22421=* +exprs(#22421,3,#22418,1,"1") +hasLocation(#22421,#21231) +enclosing_stmt(#22421,#22410) +expr_containers(#22421,#20001) +literals("1","1",#22421) +#22422=* +stmts(#22422,2,#20001,39,"({...re ... = 1});") +hasLocation(#22422,#20103) +stmt_containers(#22422,#20001) +#22423=* +exprs(#22423,63,#22422,0,"({...re ... e = 1})") +#22424=@"loc,{#10000},51,1,51,25" +locations_default(#22424,#10000,51,1,51,25) +hasLocation(#22423,#22424) +enclosing_stmt(#22423,#22422) +expr_containers(#22423,#20001) +#22425=* +exprs(#22425,8,#22423,0,"{...res ... ue = 1}") +#22426=@"loc,{#10000},51,2,51,24" +locations_default(#22426,#10000,51,2,51,24) +hasLocation(#22425,#22426) +enclosing_stmt(#22425,#22422) +expr_containers(#22425,#20001) +#22427=* +properties(#22427,#22425,0,0,"...rest") +#22428=@"loc,{#10000},51,3,51,9" +locations_default(#22428,#10000,51,3,51,9) +hasLocation(#22427,#22428) +#22429=* +exprs(#22429,66,#22427,1,"...rest") +hasLocation(#22429,#22428) +enclosing_stmt(#22429,#22422) +expr_containers(#22429,#20001) +#22430=* +exprs(#22430,79,#22429,0,"rest") +hasLocation(#22430,#21243) +enclosing_stmt(#22430,#22422) +expr_containers(#22430,#20001) +literals("rest","rest",#22430) +bind(#22430,#22371) +#22431=* +properties(#22431,#22425,1,0,"x: value = 1") +#22432=@"loc,{#10000},51,12,51,23" +locations_default(#22432,#10000,51,12,51,23) +hasLocation(#22431,#22432) +#22433=* +exprs(#22433,0,#22431,0,"x") +hasLocation(#22433,#21247) +enclosing_stmt(#22433,#22422) +expr_containers(#22433,#20001) +literals("x","x",#22433) +#22434=* +exprs(#22434,47,#22431,1,"value = 1") +#22435=@"loc,{#10000},51,15,51,23" +locations_default(#22435,#10000,51,15,51,23) +hasLocation(#22434,#22435) +enclosing_stmt(#22434,#22422) +expr_containers(#22434,#20001) +#22436=* +exprs(#22436,79,#22434,0,"value") +hasLocation(#22436,#21251) +enclosing_stmt(#22436,#22422) +expr_containers(#22436,#20001) +literals("value","value",#22436) +bind(#22436,#22280) +#22437=* +exprs(#22437,3,#22434,1,"1") +hasLocation(#22437,#21255) +enclosing_stmt(#22437,#22422) +expr_containers(#22437,#20001) +literals("1","1",#22437) +#22438=* +stmts(#22438,2,#20001,40,"({x = 1 ... input);") +hasLocation(#22438,#20105) +stmt_containers(#22438,#20001) +#22439=* +exprs(#22439,63,#22438,0,"({x = 1 ... input)") +#22440=@"loc,{#10000},52,1,52,31" +locations_default(#22440,#10000,52,1,52,31) +hasLocation(#22439,#22440) +enclosing_stmt(#22439,#22438) +expr_containers(#22439,#20001) +#22441=* +exprs(#22441,47,#22439,0,"{x = 1, ... = input") +#22442=@"loc,{#10000},52,2,52,30" +locations_default(#22442,#10000,52,2,52,30) +hasLocation(#22441,#22442) +enclosing_stmt(#22441,#22438) +expr_containers(#22441,#20001) +#22443=* +exprs(#22443,68,#22441,0,"{x = 1, ... ue = 0}") +#22444=@"loc,{#10000},52,2,52,22" +locations_default(#22444,#10000,52,2,52,22) +hasLocation(#22443,#22444) +enclosing_stmt(#22443,#22438) +expr_containers(#22443,#20001) +#22445=* +properties(#22445,#22443,0,0,"x = 1") +#22446=@"loc,{#10000},52,3,52,7" +locations_default(#22446,#10000,52,3,52,7) +hasLocation(#22445,#22446) +#22447=* +exprs(#22447,0,#22445,0,"x") +hasLocation(#22447,#21267) +enclosing_stmt(#22447,#22438) +expr_containers(#22447,#20001) +literals("x","x",#22447) +#22448=* +exprs(#22448,79,#22445,1,"x") +hasLocation(#22448,#21267) +enclosing_stmt(#22448,#22438) +expr_containers(#22448,#20001) +literals("x","x",#22448) +bind(#22448,#22095) +#22449=* +exprs(#22449,3,#22445,2,"1") +hasLocation(#22449,#21271) +enclosing_stmt(#22449,#22438) +expr_containers(#22449,#20001) +literals("1","1",#22449) +#22450=* +properties(#22450,#22443,1,0,"y: value = 0") +#22451=@"loc,{#10000},52,10,52,21" +locations_default(#22451,#10000,52,10,52,21) +hasLocation(#22450,#22451) +#22452=* +exprs(#22452,0,#22450,0,"y") +hasLocation(#22452,#21275) +enclosing_stmt(#22452,#22438) +expr_containers(#22452,#20001) +literals("y","y",#22452) +#22453=* +exprs(#22453,79,#22450,1,"value") +hasLocation(#22453,#21279) +enclosing_stmt(#22453,#22438) +expr_containers(#22453,#20001) +literals("value","value",#22453) +bind(#22453,#22280) +#22454=* +exprs(#22454,3,#22450,2,"0") +hasLocation(#22454,#21283) +enclosing_stmt(#22454,#22438) +expr_containers(#22454,#20001) +literals("0","0",#22454) +#22455=* +exprs(#22455,79,#22441,1,"input") +hasLocation(#22455,#21289) +enclosing_stmt(#22455,#22438) +expr_containers(#22455,#20001) +literals("input","input",#22455) +bind(#22455,#22218) +#22456=* +stmts(#22456,2,#20001,41,"({x = 1 ... ) => x;") +hasLocation(#22456,#20107) +stmt_containers(#22456,#20001) +#22457=* +exprs(#22457,65,#22456,0,"({x = 1 ... }) => x") +#22458=@"loc,{#10000},53,1,53,28" +locations_default(#22458,#10000,53,1,53,28) +hasLocation(#22457,#22458) +enclosing_stmt(#22457,#22456) +expr_containers(#22457,#20001) +#22459=* +scopes(#22459,1) +scopenodes(#22457,#22459) +scopenesting(#22459,#20000) +#22460=@"var;{x};{#22459}" +variables(#22460,"x",#22459) +#22461=@"var;{value};{#22459}" +variables(#22461,"value",#22459) +#22462=* +exprs(#22462,68,#22457,0,"{x = 1, ... ue = 0}") +#22463=@"loc,{#10000},53,2,53,22" +locations_default(#22463,#10000,53,2,53,22) +hasLocation(#22462,#22463) +expr_containers(#22462,#22457) +#22464=* +properties(#22464,#22462,0,0,"x = 1") +#22465=@"loc,{#10000},53,3,53,7" +locations_default(#22465,#10000,53,3,53,7) +hasLocation(#22464,#22465) +#22466=* +exprs(#22466,0,#22464,0,"x") +hasLocation(#22466,#21299) +expr_containers(#22466,#22457) +literals("x","x",#22466) +#22467=* +exprs(#22467,78,#22464,1,"x") +hasLocation(#22467,#21299) +expr_containers(#22467,#22457) +literals("x","x",#22467) +decl(#22467,#22460) +#22468=* +exprs(#22468,3,#22464,2,"1") +hasLocation(#22468,#21303) +expr_containers(#22468,#22457) +literals("1","1",#22468) +#22469=* +properties(#22469,#22462,1,0,"y: value = 0") +#22470=@"loc,{#10000},53,10,53,21" +locations_default(#22470,#10000,53,10,53,21) +hasLocation(#22469,#22470) +#22471=* +exprs(#22471,0,#22469,0,"y") +hasLocation(#22471,#21307) +expr_containers(#22471,#22457) +literals("y","y",#22471) +#22472=* +exprs(#22472,78,#22469,1,"value") +hasLocation(#22472,#21311) +expr_containers(#22472,#22457) +literals("value","value",#22472) +decl(#22472,#22461) +#22473=* +exprs(#22473,3,#22469,2,"0") +hasLocation(#22473,#21315) +expr_containers(#22473,#22457) +literals("0","0",#22473) +#22474=* +exprs(#22474,79,#22457,-2,"x") +hasLocation(#22474,#21323) +expr_containers(#22474,#22457) +literals("x","x",#22474) +bind(#22474,#22460) +#22475=* +stmts(#22475,2,#20001,42,"([{...r ... items);") +hasLocation(#22475,#20109) +stmt_containers(#22475,#20001) +#22476=* +exprs(#22476,63,#22475,0,"([{...r ... items)") +#22477=@"loc,{#10000},54,1,54,35" +locations_default(#22477,#10000,54,1,54,35) +hasLocation(#22476,#22477) +enclosing_stmt(#22476,#22475) +expr_containers(#22476,#20001) +#22478=* +exprs(#22478,47,#22476,0,"[{...re ... = items") +#22479=@"loc,{#10000},54,2,54,34" +locations_default(#22479,#10000,54,2,54,34) +hasLocation(#22478,#22479) +enclosing_stmt(#22478,#22475) +expr_containers(#22478,#20001) +#22480=* +exprs(#22480,67,#22478,0,"[{...re ... ue = 1]") +#22481=@"loc,{#10000},54,2,54,26" +locations_default(#22481,#10000,54,2,54,26) +hasLocation(#22480,#22481) +enclosing_stmt(#22480,#22475) +expr_containers(#22480,#20001) +#22482=* +exprs(#22482,14,#22480,0,"{...rest,}.x") +#22483=@"loc,{#10000},54,3,54,14" +locations_default(#22483,#10000,54,3,54,14) +hasLocation(#22482,#22483) +enclosing_stmt(#22482,#22475) +expr_containers(#22482,#20001) +#22484=* +exprs(#22484,8,#22482,0,"{...rest,}") +#22485=@"loc,{#10000},54,3,54,12" +locations_default(#22485,#10000,54,3,54,12) +hasLocation(#22484,#22485) +enclosing_stmt(#22484,#22475) +expr_containers(#22484,#20001) +#22486=* +properties(#22486,#22484,0,0,"...rest") +#22487=@"loc,{#10000},54,4,54,10" +locations_default(#22487,#10000,54,4,54,10) +hasLocation(#22486,#22487) +#22488=* +exprs(#22488,66,#22486,1,"...rest") +hasLocation(#22488,#22487) +enclosing_stmt(#22488,#22475) +expr_containers(#22488,#20001) +#22489=* +exprs(#22489,79,#22488,0,"rest") +hasLocation(#22489,#21335) +enclosing_stmt(#22489,#22475) +expr_containers(#22489,#20001) +literals("rest","rest",#22489) +bind(#22489,#22371) +#22490=* +exprs(#22490,0,#22482,1,"x") +hasLocation(#22490,#21343) +enclosing_stmt(#22490,#22475) +expr_containers(#22490,#20001) +literals("x","x",#22490) +#22491=* +exprs(#22491,79,#22480,1,"value") +hasLocation(#22491,#21347) +enclosing_stmt(#22491,#22475) +expr_containers(#22491,#20001) +literals("value","value",#22491) +bind(#22491,#22280) +#22492=* +exprs(#22492,3,#22480,-3,"1") +hasLocation(#22492,#21351) +enclosing_stmt(#22492,#22475) +expr_containers(#22492,#20001) +literals("1","1",#22492) +array_size(#22480,2) +#22493=* +exprs(#22493,79,#22478,1,"items") +hasLocation(#22493,#21357) +enclosing_stmt(#22493,#22475) +expr_containers(#22493,#20001) +literals("items","items",#22493) +bind(#22493,#22000) +#22494=* +stmts(#22494,2,#20001,43,"1 + {...obj,};") +hasLocation(#22494,#20113) +stmt_containers(#22494,#20001) +#22495=* +exprs(#22495,34,#22494,0,"1 + {...obj,}") +#22496=@"loc,{#10000},56,1,56,13" +locations_default(#22496,#10000,56,1,56,13) +hasLocation(#22495,#22496) +enclosing_stmt(#22495,#22494) +expr_containers(#22495,#20001) +#22497=* +exprs(#22497,3,#22495,0,"1") +hasLocation(#22497,#21363) +enclosing_stmt(#22497,#22494) +expr_containers(#22497,#20001) +literals("1","1",#22497) +#22498=* +exprs(#22498,8,#22495,1,"{...obj,}") +#22499=@"loc,{#10000},56,5,56,13" +locations_default(#22499,#10000,56,5,56,13) +hasLocation(#22498,#22499) +enclosing_stmt(#22498,#22494) +expr_containers(#22498,#20001) +#22500=* +properties(#22500,#22498,0,0,"...obj") +#22501=@"loc,{#10000},56,6,56,11" +locations_default(#22501,#10000,56,6,56,11) +hasLocation(#22500,#22501) +#22502=* +exprs(#22502,66,#22500,1,"...obj") +hasLocation(#22502,#22501) +enclosing_stmt(#22502,#22494) +expr_containers(#22502,#20001) +#22503=* +exprs(#22503,79,#22502,0,"obj") +hasLocation(#22503,#21371) +enclosing_stmt(#22503,#22494) +expr_containers(#22503,#20001) +literals("obj","obj",#22503) +bind(#22503,#22068) +#22504=* +stmts(#22504,2,#20001,44,"!{...obj,};") +hasLocation(#22504,#20115) +stmt_containers(#22504,#20001) +#22505=* +exprs(#22505,18,#22504,0,"!{...obj,}") +#22506=@"loc,{#10000},57,1,57,10" +locations_default(#22506,#10000,57,1,57,10) +hasLocation(#22505,#22506) +enclosing_stmt(#22505,#22504) +expr_containers(#22505,#20001) +#22507=* +exprs(#22507,8,#22505,0,"{...obj,}") +#22508=@"loc,{#10000},57,2,57,10" +locations_default(#22508,#10000,57,2,57,10) +hasLocation(#22507,#22508) +enclosing_stmt(#22507,#22504) +expr_containers(#22507,#20001) +#22509=* +properties(#22509,#22507,0,0,"...obj") +#22510=@"loc,{#10000},57,3,57,8" +locations_default(#22510,#10000,57,3,57,8) +hasLocation(#22509,#22510) +#22511=* +exprs(#22511,66,#22509,1,"...obj") +hasLocation(#22511,#22510) +enclosing_stmt(#22511,#22504) +expr_containers(#22511,#20001) +#22512=* +exprs(#22512,79,#22511,0,"obj") +hasLocation(#22512,#21385) +enclosing_stmt(#22512,#22504) +expr_containers(#22512,#20001) +literals("obj","obj",#22512) +bind(#22512,#22068) +#22513=* +stmts(#22513,2,#20001,45,"({...obj,} ? x : y);") +hasLocation(#22513,#20117) +stmt_containers(#22513,#20001) +#22514=* +exprs(#22514,63,#22513,0,"({...obj,} ? x : y)") +#22515=@"loc,{#10000},58,1,58,19" +locations_default(#22515,#10000,58,1,58,19) +hasLocation(#22514,#22515) +enclosing_stmt(#22514,#22513) +expr_containers(#22514,#20001) +#22516=* +exprs(#22516,11,#22514,0,"{...obj,} ? x : y") +#22517=@"loc,{#10000},58,2,58,18" +locations_default(#22517,#10000,58,2,58,18) +hasLocation(#22516,#22517) +enclosing_stmt(#22516,#22513) +expr_containers(#22516,#20001) +#22518=* +exprs(#22518,8,#22516,0,"{...obj,}") +#22519=@"loc,{#10000},58,2,58,10" +locations_default(#22519,#10000,58,2,58,10) +hasLocation(#22518,#22519) +enclosing_stmt(#22518,#22513) +expr_containers(#22518,#20001) +#22520=* +properties(#22520,#22518,0,0,"...obj") +#22521=@"loc,{#10000},58,3,58,8" +locations_default(#22521,#10000,58,3,58,8) +hasLocation(#22520,#22521) +#22522=* +exprs(#22522,66,#22520,1,"...obj") +hasLocation(#22522,#22521) +enclosing_stmt(#22522,#22513) +expr_containers(#22522,#20001) +#22523=* +exprs(#22523,79,#22522,0,"obj") +hasLocation(#22523,#21399) +enclosing_stmt(#22523,#22513) +expr_containers(#22523,#20001) +literals("obj","obj",#22523) +bind(#22523,#22068) +#22524=* +exprs(#22524,79,#22516,1,"x") +hasLocation(#22524,#21407) +enclosing_stmt(#22524,#22513) +expr_containers(#22524,#20001) +literals("x","x",#22524) +bind(#22524,#22095) +#22525=* +exprs(#22525,79,#22516,2,"y") +hasLocation(#22525,#21411) +enclosing_stmt(#22525,#22513) +expr_containers(#22525,#20001) +literals("y","y",#22525) +#22526=@"var;{y};{#20000}" +variables(#22526,"y",#20000) +bind(#22525,#22526) +#22527=* +stmts(#22527,2,#20001,46,"({...obj,}, x = 1);") +hasLocation(#22527,#20119) +stmt_containers(#22527,#20001) +#22528=* +exprs(#22528,63,#22527,0,"({...obj,}, x = 1)") +#22529=@"loc,{#10000},59,1,59,18" +locations_default(#22529,#10000,59,1,59,18) +hasLocation(#22528,#22529) +enclosing_stmt(#22528,#22527) +expr_containers(#22528,#20001) +#22530=* +exprs(#22530,10,#22528,0,"{...obj,}, x = 1") +#22531=@"loc,{#10000},59,2,59,17" +locations_default(#22531,#10000,59,2,59,17) +hasLocation(#22530,#22531) +enclosing_stmt(#22530,#22527) +expr_containers(#22530,#20001) +#22532=* +exprs(#22532,8,#22530,0,"{...obj,}") +#22533=@"loc,{#10000},59,2,59,10" +locations_default(#22533,#10000,59,2,59,10) +hasLocation(#22532,#22533) +enclosing_stmt(#22532,#22527) +expr_containers(#22532,#20001) +#22534=* +properties(#22534,#22532,0,0,"...obj") +#22535=@"loc,{#10000},59,3,59,8" +locations_default(#22535,#10000,59,3,59,8) +hasLocation(#22534,#22535) +#22536=* +exprs(#22536,66,#22534,1,"...obj") +hasLocation(#22536,#22535) +enclosing_stmt(#22536,#22527) +expr_containers(#22536,#20001) +#22537=* +exprs(#22537,79,#22536,0,"obj") +hasLocation(#22537,#21423) +enclosing_stmt(#22537,#22527) +expr_containers(#22537,#20001) +literals("obj","obj",#22537) +bind(#22537,#22068) +#22538=* +exprs(#22538,47,#22530,1,"x = 1") +#22539=@"loc,{#10000},59,13,59,17" +locations_default(#22539,#10000,59,13,59,17) +hasLocation(#22538,#22539) +enclosing_stmt(#22538,#22527) +expr_containers(#22538,#20001) +#22540=* +exprs(#22540,79,#22538,0,"x") +hasLocation(#22540,#21431) +enclosing_stmt(#22540,#22527) +expr_containers(#22540,#20001) +literals("x","x",#22540) +bind(#22540,#22095) +#22541=* +exprs(#22541,3,#22538,1,"1") +hasLocation(#22541,#21435) +enclosing_stmt(#22541,#22527) +expr_containers(#22541,#20001) +literals("1","1",#22541) +#22542=* +stmts(#22542,21,#20001,47,"for ({. ... ems) {}") +hasLocation(#22542,#20121) +stmt_containers(#22542,#20001) +#22543=* +exprs(#22543,79,#22542,1,"items") +hasLocation(#22543,#21461) +enclosing_stmt(#22543,#22542) +expr_containers(#22543,#20001) +literals("items","items",#22543) +bind(#22543,#22000) +#22544=* +exprs(#22544,14,#22542,0,"{...rest,}.x") +#22545=@"loc,{#10000},60,6,60,17" +locations_default(#22545,#10000,60,6,60,17) +hasLocation(#22544,#22545) +enclosing_stmt(#22544,#22542) +expr_containers(#22544,#20001) +#22546=* +exprs(#22546,8,#22544,0,"{...rest,}") +#22547=@"loc,{#10000},60,6,60,15" +locations_default(#22547,#10000,60,6,60,15) +hasLocation(#22546,#22547) +enclosing_stmt(#22546,#22542) +expr_containers(#22546,#20001) +#22548=* +properties(#22548,#22546,0,0,"...rest") +#22549=@"loc,{#10000},60,7,60,13" +locations_default(#22549,#10000,60,7,60,13) +hasLocation(#22548,#22549) +#22550=* +exprs(#22550,66,#22548,1,"...rest") +hasLocation(#22550,#22549) +enclosing_stmt(#22550,#22542) +expr_containers(#22550,#20001) +#22551=* +exprs(#22551,79,#22550,0,"rest") +hasLocation(#22551,#21449) +enclosing_stmt(#22551,#22542) +expr_containers(#22551,#20001) +literals("rest","rest",#22551) +bind(#22551,#22371) +#22552=* +exprs(#22552,0,#22544,1,"x") +hasLocation(#22552,#21457) +enclosing_stmt(#22552,#22542) +expr_containers(#22552,#20001) +literals("x","x",#22552) +#22553=* +stmts(#22553,1,#22542,2,"{}") +#22554=@"loc,{#10000},60,29,60,30" +locations_default(#22554,#10000,60,29,60,30) +hasLocation(#22553,#22554) +stmt_containers(#22553,#20001) +#22555=* +stmts(#22555,2,#20001,48,"(x) = y;") +hasLocation(#22555,#20125) +stmt_containers(#22555,#20001) +#22556=* +exprs(#22556,47,#22555,0,"(x) = y") +#22557=@"loc,{#10000},62,1,62,7" +locations_default(#22557,#10000,62,1,62,7) +hasLocation(#22556,#22557) +enclosing_stmt(#22556,#22555) +expr_containers(#22556,#20001) +#22558=* +exprs(#22558,63,#22556,0,"(x)") +#22559=@"loc,{#10000},62,1,62,3" +locations_default(#22559,#10000,62,1,62,3) +hasLocation(#22558,#22559) +enclosing_stmt(#22558,#22555) +expr_containers(#22558,#20001) +#22560=* +exprs(#22560,79,#22558,0,"x") +hasLocation(#22560,#21471) +enclosing_stmt(#22560,#22555) +expr_containers(#22560,#20001) +literals("x","x",#22560) +bind(#22560,#22095) +#22561=* +exprs(#22561,79,#22556,1,"y") +hasLocation(#22561,#21477) +enclosing_stmt(#22561,#22555) +expr_containers(#22561,#20001) +literals("y","y",#22561) +bind(#22561,#22526) +#22562=* +stmts(#22562,2,#20001,49,"++(x);") +hasLocation(#22562,#20127) +stmt_containers(#22562,#20001) +#22563=* +exprs(#22563,59,#22562,0,"++(x)") +#22564=@"loc,{#10000},63,1,63,5" +locations_default(#22564,#10000,63,1,63,5) +hasLocation(#22563,#22564) +enclosing_stmt(#22563,#22562) +expr_containers(#22563,#20001) +#22565=* +exprs(#22565,63,#22563,0,"(x)") +#22566=@"loc,{#10000},63,3,63,5" +locations_default(#22566,#10000,63,3,63,5) +hasLocation(#22565,#22566) +enclosing_stmt(#22565,#22562) +expr_containers(#22565,#20001) +#22567=* +exprs(#22567,79,#22565,0,"x") +hasLocation(#22567,#21485) +enclosing_stmt(#22567,#22562) +expr_containers(#22567,#20001) +literals("x","x",#22567) +bind(#22567,#22095) +#22568=* +stmts(#22568,2,#20001,50,"(obj.x)++;") +hasLocation(#22568,#20129) +stmt_containers(#22568,#20001) +#22569=* +exprs(#22569,60,#22568,0,"(obj.x)++") +#22570=@"loc,{#10000},64,1,64,9" +locations_default(#22570,#10000,64,1,64,9) +hasLocation(#22569,#22570) +enclosing_stmt(#22569,#22568) +expr_containers(#22569,#20001) +#22571=* +exprs(#22571,63,#22569,0,"(obj.x)") +#22572=@"loc,{#10000},64,1,64,7" +locations_default(#22572,#10000,64,1,64,7) +hasLocation(#22571,#22572) +enclosing_stmt(#22571,#22568) +expr_containers(#22571,#20001) +#22573=* +exprs(#22573,14,#22571,0,"obj.x") +#22574=@"loc,{#10000},64,2,64,6" +locations_default(#22574,#10000,64,2,64,6) +hasLocation(#22573,#22574) +enclosing_stmt(#22573,#22568) +expr_containers(#22573,#20001) +#22575=* +exprs(#22575,79,#22573,0,"obj") +hasLocation(#22575,#21493) +enclosing_stmt(#22575,#22568) +expr_containers(#22575,#20001) +literals("obj","obj",#22575) +bind(#22575,#22068) +#22576=* +exprs(#22576,0,#22573,1,"x") +hasLocation(#22576,#21497) +enclosing_stmt(#22576,#22568) +expr_containers(#22576,#20001) +literals("x","x",#22576) +#22577=* +stmts(#22577,1,#20001,51,"{\n con ... x)]);\n}") +#22578=@"loc,{#10000},66,1,72,1" +locations_default(#22578,#10000,66,1,72,1) +hasLocation(#22577,#22578) +stmt_containers(#22577,#20001) +#22579=* +scopes(#22579,4) +scopenodes(#22577,#22579) +scopenesting(#22579,#20000) +#22580=@"var;{values};{#22579}" +variables(#22580,"values",#22579) +#22581=* +stmts(#22581,22,#22577,0,"const v ... 2, 3];") +#22582=@"loc,{#10000},67,3,67,27" +locations_default(#22582,#10000,67,3,67,27) +hasLocation(#22581,#22582) +stmt_containers(#22581,#20001) +#22583=* +exprs(#22583,64,#22581,0,"values = [1, 2, 3]") +#22584=@"loc,{#10000},67,9,67,26" +locations_default(#22584,#10000,67,9,67,26) +hasLocation(#22583,#22584) +enclosing_stmt(#22583,#22581) +expr_containers(#22583,#20001) +#22585=* +exprs(#22585,78,#22583,0,"values") +hasLocation(#22585,#21508) +enclosing_stmt(#22585,#22581) +expr_containers(#22585,#20001) +literals("values","values",#22585) +decl(#22585,#22580) +#22586=* +exprs(#22586,7,#22583,1,"[1, 2, 3]") +#22587=@"loc,{#10000},67,18,67,26" +locations_default(#22587,#10000,67,18,67,26) +hasLocation(#22586,#22587) +enclosing_stmt(#22586,#22581) +expr_containers(#22586,#20001) +#22588=* +exprs(#22588,3,#22586,0,"1") +hasLocation(#22588,#21514) +enclosing_stmt(#22588,#22581) +expr_containers(#22588,#20001) +literals("1","1",#22588) +#22589=* +exprs(#22589,3,#22586,1,"2") +hasLocation(#22589,#21518) +enclosing_stmt(#22589,#22581) +expr_containers(#22589,#20001) +literals("2","2",#22589) +#22590=* +exprs(#22590,3,#22586,2,"3") +hasLocation(#22590,#21522) +enclosing_stmt(#22590,#22581) +expr_containers(#22590,#20001) +literals("3","3",#22590) +array_size(#22586,3) +#22591=* +stmts(#22591,17,#22577,1,"functio ... };\n }") +#22592=@"loc,{#10000},68,3,70,3" +locations_default(#22592,#10000,68,3,70,3) +hasLocation(#22591,#22592) +stmt_containers(#22591,#20001) +#22593=* +exprs(#22593,78,#22591,-1,"collect") +hasLocation(#22593,#21530) +expr_containers(#22593,#22591) +literals("collect","collect",#22593) +decl(#22593,#21787) +#22594=* +scopes(#22594,1) +scopenodes(#22591,#22594) +scopenesting(#22594,#22579) +#22595=@"var;{this};{#22594}" +variables(#22595,"this",#22594) +#22596=@"var;{value};{#22594}" +variables(#22596,"value",#22594) +#22597=* +exprs(#22597,78,#22591,0,"value") +hasLocation(#22597,#21534) +expr_containers(#22597,#22591) +literals("value","value",#22597) +decl(#22597,#22596) +#22598=@"var;{index};{#22594}" +variables(#22598,"index",#22594) +#22599=* +exprs(#22599,78,#22591,1,"index") +hasLocation(#22599,#21538) +expr_containers(#22599,#22591) +literals("index","index",#22599) +decl(#22599,#22598) +#22600=@"var;{suffix};{#22594}" +variables(#22600,"suffix",#22594) +#22601=* +exprs(#22601,78,#22591,2,"suffix") +hasLocation(#22601,#21542) +expr_containers(#22601,#22591) +literals("suffix","suffix",#22601) +decl(#22601,#22600) +#22602=@"var;{arguments};{#22594}" +variables(#22602,"arguments",#22594) +is_arguments_object(#22602) +#22603=* +stmts(#22603,1,#22591,-2,"{\n r ... };\n }") +#22604=@"loc,{#10000},68,42,70,3" +locations_default(#22604,#10000,68,42,70,3) +hasLocation(#22603,#22604) +stmt_containers(#22603,#22591) +#22605=* +stmts(#22605,9,#22603,0,"return ... ffix };") +#22606=@"loc,{#10000},69,5,69,36" +locations_default(#22606,#10000,69,5,69,36) +hasLocation(#22605,#22606) +stmt_containers(#22605,#22591) +#22607=* +exprs(#22607,8,#22605,0,"{ value ... uffix }") +#22608=@"loc,{#10000},69,12,69,35" +locations_default(#22608,#10000,69,12,69,35) +hasLocation(#22607,#22608) +enclosing_stmt(#22607,#22605) +expr_containers(#22607,#22591) +#22609=* +properties(#22609,#22607,0,0,"value") +hasLocation(#22609,#21552) +#22610=* +exprs(#22610,0,#22609,0,"value") +hasLocation(#22610,#21552) +enclosing_stmt(#22610,#22605) +expr_containers(#22610,#22591) +literals("value","value",#22610) +#22611=* +exprs(#22611,79,#22609,1,"value") +hasLocation(#22611,#21552) +enclosing_stmt(#22611,#22605) +expr_containers(#22611,#22591) +literals("value","value",#22611) +bind(#22611,#22596) +#22612=* +properties(#22612,#22607,1,0,"index") +hasLocation(#22612,#21556) +#22613=* +exprs(#22613,0,#22612,0,"index") +hasLocation(#22613,#21556) +enclosing_stmt(#22613,#22605) +expr_containers(#22613,#22591) +literals("index","index",#22613) +#22614=* +exprs(#22614,79,#22612,1,"index") +hasLocation(#22614,#21556) +enclosing_stmt(#22614,#22605) +expr_containers(#22614,#22591) +literals("index","index",#22614) +bind(#22614,#22598) +#22615=* +properties(#22615,#22607,2,0,"suffix") +hasLocation(#22615,#21560) +#22616=* +exprs(#22616,0,#22615,0,"suffix") +hasLocation(#22616,#21560) +enclosing_stmt(#22616,#22605) +expr_containers(#22616,#22591) +literals("suffix","suffix",#22616) +#22617=* +exprs(#22617,79,#22615,1,"suffix") +hasLocation(#22617,#21560) +enclosing_stmt(#22617,#22605) +expr_containers(#22617,#22591) +literals("suffix","suffix",#22617) +bind(#22617,#22600) +#22618=* +stmts(#22618,2,#22577,2,"values. ... fix)]);") +#22619=@"loc,{#10000},71,3,71,89" +locations_default(#22619,#10000,71,3,71,89) +hasLocation(#22618,#22619) +stmt_containers(#22618,#20001) +#22620=* +exprs(#22620,13,#22618,0,"values. ... ffix)])") +#22621=@"loc,{#10000},71,3,71,88" +locations_default(#22621,#10000,71,3,71,88) +hasLocation(#22620,#22621) +enclosing_stmt(#22620,#22618) +expr_containers(#22620,#20001) +#22622=* +exprs(#22622,14,#22620,-1,"values.map") +#22623=@"loc,{#10000},71,3,71,12" +locations_default(#22623,#10000,71,3,71,12) +hasLocation(#22622,#22623) +enclosing_stmt(#22622,#22618) +expr_containers(#22622,#20001) +#22624=* +exprs(#22624,79,#22622,0,"values") +hasLocation(#22624,#21568) +enclosing_stmt(#22624,#22618) +expr_containers(#22624,#20001) +literals("values","values",#22624) +bind(#22624,#22580) +#22625=* +exprs(#22625,0,#22622,1,"map") +hasLocation(#22625,#21572) +enclosing_stmt(#22625,#22618) +expr_containers(#22625,#20001) +literals("map","map",#22625) +#22626=* +exprs(#22626,65,#22620,0,"value = ... uffix)]") +#22627=@"loc,{#10000},71,14,71,87" +locations_default(#22627,#10000,71,14,71,87) +hasLocation(#22626,#22627) +enclosing_stmt(#22626,#22618) +expr_containers(#22626,#20001) +#22628=* +scopes(#22628,1) +scopenodes(#22626,#22628) +scopenesting(#22628,#22579) +#22629=@"var;{value};{#22628}" +variables(#22629,"value",#22628) +#22630=* +exprs(#22630,78,#22626,0,"value") +hasLocation(#22630,#21576) +expr_containers(#22630,#22626) +literals("value","value",#22630) +decl(#22630,#22629) +#22631=* +exprs(#22631,7,#22626,-2,"[value, ... uffix)]") +#22632=@"loc,{#10000},71,23,71,87" +locations_default(#22632,#10000,71,23,71,87) +hasLocation(#22631,#22632) +expr_containers(#22631,#22626) +#22633=* +exprs(#22633,79,#22631,0,"value") +hasLocation(#22633,#21582) +expr_containers(#22633,#22626) +literals("value","value",#22633) +bind(#22633,#22629) +#22634=* +exprs(#22634,65,#22631,1,"(...[in ... suffix)") +#22635=@"loc,{#10000},71,31,71,86" +locations_default(#22635,#10000,71,31,71,86) +hasLocation(#22634,#22635) +expr_containers(#22634,#22626) +#22636=* +scopes(#22636,1) +scopenodes(#22634,#22636) +scopenesting(#22636,#22628) +#22637=@"var;{index};{#22636}" +variables(#22637,"index",#22636) +#22638=@"var;{suffix};{#22636}" +variables(#22638,"suffix",#22636) +#22639=* +exprs(#22639,67,#22634,0,"[index, ...suffix]") +#22640=@"loc,{#10000},71,35,71,52" +locations_default(#22640,#10000,71,35,71,52) +hasLocation(#22639,#22640) +expr_containers(#22639,#22634) +#22641=* +exprs(#22641,78,#22639,0,"index") +hasLocation(#22641,#21592) +expr_containers(#22641,#22634) +literals("index","index",#22641) +decl(#22641,#22637) +#22642=* +exprs(#22642,78,#22639,-1,"suffix") +hasLocation(#22642,#21598) +expr_containers(#22642,#22634) +literals("suffix","suffix",#22642) +decl(#22642,#22638) +array_size(#22639,1) +has_rest_parameter(#22634) +#22643=* +exprs(#22643,13,#22634,-2,"collect ... suffix)") +#22644=@"loc,{#10000},71,58,71,86" +locations_default(#22644,#10000,71,58,71,86) +hasLocation(#22643,#22644) +expr_containers(#22643,#22634) +#22645=* +exprs(#22645,79,#22643,-1,"collect") +hasLocation(#22645,#21606) +expr_containers(#22645,#22634) +literals("collect","collect",#22645) +bind(#22645,#21787) +#22646=* +exprs(#22646,79,#22643,0,"value") +hasLocation(#22646,#21610) +expr_containers(#22646,#22634) +literals("value","value",#22646) +bind(#22646,#22629) +#22647=* +exprs(#22647,79,#22643,1,"index") +hasLocation(#22647,#21614) +expr_containers(#22647,#22634) +literals("index","index",#22647) +bind(#22647,#22637) +#22648=* +exprs(#22648,79,#22643,2,"suffix") +hasLocation(#22648,#21618) +expr_containers(#22648,#22634) +literals("suffix","suffix",#22648) +bind(#22648,#22638) +array_size(#22631,2) +#22649=* +stmts(#22649,2,#20001,52,"(...[in ... index;") +hasLocation(#22649,#20147) +stmt_containers(#22649,#20001) +#22650=* +exprs(#22650,65,#22649,0,"(...[in ... > index") +#22651=@"loc,{#10000},73,1,73,32" +locations_default(#22651,#10000,73,1,73,32) +hasLocation(#22650,#22651) +enclosing_stmt(#22650,#22649) +expr_containers(#22650,#20001) +#22652=* +scopes(#22652,1) +scopenodes(#22650,#22652) +scopenesting(#22652,#20000) +#22653=@"var;{index};{#22652}" +variables(#22653,"index",#22652) +#22654=@"var;{suffix};{#22652}" +variables(#22654,"suffix",#22652) +#22655=* +exprs(#22655,67,#22650,0,"[index, ...suffix]") +#22656=@"loc,{#10000},73,5,73,22" +locations_default(#22656,#10000,73,5,73,22) +hasLocation(#22655,#22656) +expr_containers(#22655,#22650) +#22657=* +exprs(#22657,78,#22655,0,"index") +hasLocation(#22657,#21635) +expr_containers(#22657,#22650) +literals("index","index",#22657) +decl(#22657,#22653) +#22658=* +exprs(#22658,78,#22655,-1,"suffix") +hasLocation(#22658,#21641) +expr_containers(#22658,#22650) +literals("suffix","suffix",#22658) +decl(#22658,#22654) +array_size(#22655,1) +has_rest_parameter(#22650) +#22659=* +exprs(#22659,79,#22650,-2,"index") +hasLocation(#22659,#21649) +expr_containers(#22659,#22650) +literals("index","index",#22659) +bind(#22659,#22653) +#22660=* +stmts(#22660,2,#20001,53,"async ( ... index;") +hasLocation(#22660,#20149) +stmt_containers(#22660,#20001) +#22661=* +exprs(#22661,65,#22660,0,"async ( ... > index") +#22662=@"loc,{#10000},74,1,74,38" +locations_default(#22662,#10000,74,1,74,38) +hasLocation(#22661,#22662) +enclosing_stmt(#22661,#22660) +expr_containers(#22661,#20001) +#22663=* +scopes(#22663,1) +scopenodes(#22661,#22663) +scopenesting(#22663,#20000) +#22664=@"var;{index};{#22663}" +variables(#22664,"index",#22663) +#22665=@"var;{suffix};{#22663}" +variables(#22665,"suffix",#22663) +#22666=* +exprs(#22666,67,#22661,0,"[index, ...suffix]") +#22667=@"loc,{#10000},74,11,74,28" +locations_default(#22667,#10000,74,11,74,28) +hasLocation(#22666,#22667) +expr_containers(#22666,#22661) +#22668=* +exprs(#22668,78,#22666,0,"index") +hasLocation(#22668,#21661) +expr_containers(#22668,#22661) +literals("index","index",#22668) +decl(#22668,#22664) +#22669=* +exprs(#22669,78,#22666,-1,"suffix") +hasLocation(#22669,#21667) +expr_containers(#22669,#22661) +literals("suffix","suffix",#22669) +decl(#22669,#22665) +array_size(#22666,1) +has_rest_parameter(#22661) +is_async(#22661) +#22670=* +exprs(#22670,79,#22661,-2,"index") +hasLocation(#22670,#21675) +expr_containers(#22670,#22661) +literals("index","index",#22670) +bind(#22670,#22664) +#22671=* +stmts(#22671,17,#20001,54,"functio ... ix]) {}") +hasLocation(#22671,#20151) +stmt_containers(#22671,#20001) +#22672=* +exprs(#22672,78,#22671,-1,"restArray") +hasLocation(#22672,#21681) +expr_containers(#22672,#22671) +literals("restArray","restArray",#22672) +decl(#22672,#21788) +#22673=* +scopes(#22673,1) +scopenodes(#22671,#22673) +scopenesting(#22673,#20000) +#22674=@"var;{this};{#22673}" +variables(#22674,"this",#22673) +#22675=@"var;{index};{#22673}" +variables(#22675,"index",#22673) +#22676=@"var;{suffix};{#22673}" +variables(#22676,"suffix",#22673) +#22677=* +exprs(#22677,67,#22671,0,"[index, ...suffix]") +#22678=@"loc,{#10000},75,23,75,40" +locations_default(#22678,#10000,75,23,75,40) +hasLocation(#22677,#22678) +expr_containers(#22677,#22671) +#22679=* +exprs(#22679,78,#22677,0,"index") +hasLocation(#22679,#21689) +expr_containers(#22679,#22671) +literals("index","index",#22679) +decl(#22679,#22675) +#22680=* +exprs(#22680,78,#22677,-1,"suffix") +hasLocation(#22680,#21695) +expr_containers(#22680,#22671) +literals("suffix","suffix",#22680) +decl(#22680,#22676) +array_size(#22677,1) +#22681=@"var;{arguments};{#22673}" +variables(#22681,"arguments",#22673) +is_arguments_object(#22681) +has_rest_parameter(#22671) +#22682=* +stmts(#22682,1,#22671,-2,"{}") +#22683=@"loc,{#10000},75,43,75,44" +locations_default(#22683,#10000,75,43,75,44) +hasLocation(#22682,#22683) +stmt_containers(#22682,#22671) +#22684=* +stmts(#22684,2,#20001,55,"([index ... suffix;") +hasLocation(#22684,#20153) +stmt_containers(#22684,#20001) +#22685=* +exprs(#22685,65,#22684,0,"([index ... suffix") +#22686=@"loc,{#10000},76,1,76,32" +locations_default(#22686,#10000,76,1,76,32) +hasLocation(#22685,#22686) +enclosing_stmt(#22685,#22684) +expr_containers(#22685,#20001) +#22687=* +scopes(#22687,1) +scopenodes(#22685,#22687) +scopenesting(#22687,#20000) +#22688=@"var;{index};{#22687}" +variables(#22688,"index",#22687) +#22689=@"var;{suffix};{#22687}" +variables(#22689,"suffix",#22687) +#22690=* +exprs(#22690,67,#22685,0,"[index, ...[suffix]]") +#22691=@"loc,{#10000},76,2,76,21" +locations_default(#22691,#10000,76,2,76,21) +hasLocation(#22690,#22691) +expr_containers(#22690,#22685) +#22692=* +exprs(#22692,78,#22690,0,"index") +hasLocation(#22692,#21709) +expr_containers(#22692,#22685) +literals("index","index",#22692) +decl(#22692,#22688) +#22693=* +exprs(#22693,67,#22690,-1,"[suffix]") +#22694=@"loc,{#10000},76,13,76,20" +locations_default(#22694,#10000,76,13,76,20) +hasLocation(#22693,#22694) +expr_containers(#22693,#22685) +#22695=* +exprs(#22695,78,#22693,0,"suffix") +hasLocation(#22695,#21717) +expr_containers(#22695,#22685) +literals("suffix","suffix",#22695) +decl(#22695,#22689) +array_size(#22693,1) +array_size(#22690,1) +#22696=* +exprs(#22696,79,#22685,-2,"suffix") +hasLocation(#22696,#21727) +expr_containers(#22696,#22685) +literals("suffix","suffix",#22696) +bind(#22696,#22689) +#22697=* +stmts(#22697,2,#20001,56,"(...{le ... length;") +hasLocation(#22697,#20155) +stmt_containers(#22697,#20001) +#22698=* +exprs(#22698,65,#22697,0,"(...{le ... length") +#22699=@"loc,{#10000},77,1,77,32" +locations_default(#22699,#10000,77,1,77,32) +hasLocation(#22698,#22699) +enclosing_stmt(#22698,#22697) +expr_containers(#22698,#20001) +#22700=* +scopes(#22700,1) +scopenodes(#22698,#22700) +scopenesting(#22700,#20000) +#22701=@"var;{length};{#22700}" +variables(#22701,"length",#22700) +#22702=@"var;{rest};{#22700}" +variables(#22702,"rest",#22700) +#22703=* +exprs(#22703,68,#22698,0,"{length, ...rest}") +#22704=@"loc,{#10000},77,5,77,21" +locations_default(#22704,#10000,77,5,77,21) +hasLocation(#22703,#22704) +expr_containers(#22703,#22698) +#22705=* +properties(#22705,#22703,0,0,"length") +hasLocation(#22705,#21737) +#22706=* +exprs(#22706,0,#22705,0,"length") +hasLocation(#22706,#21737) +expr_containers(#22706,#22698) +literals("length","length",#22706) +#22707=* +exprs(#22707,78,#22705,1,"length") +hasLocation(#22707,#21737) +expr_containers(#22707,#22698) +literals("length","length",#22707) +decl(#22707,#22701) +#22708=* +exprs(#22708,78,#22703,-1,"rest") +hasLocation(#22708,#21743) +expr_containers(#22708,#22698) +literals("rest","rest",#22708) +decl(#22708,#22702) +has_rest_parameter(#22698) +#22709=* +exprs(#22709,79,#22698,-2,"length") +hasLocation(#22709,#21751) +expr_containers(#22709,#22698) +literals("length","length",#22709) +bind(#22709,#22701) +#22710=* +stmts(#22710,2,#20001,57,"async ( ... length;") +hasLocation(#22710,#20157) +stmt_containers(#22710,#20001) +#22711=* +exprs(#22711,65,#22710,0,"async ( ... length") +#22712=@"loc,{#10000},78,1,78,38" +locations_default(#22712,#10000,78,1,78,38) +hasLocation(#22711,#22712) +enclosing_stmt(#22711,#22710) +expr_containers(#22711,#20001) +#22713=* +scopes(#22713,1) +scopenodes(#22711,#22713) +scopenesting(#22713,#20000) +#22714=@"var;{length};{#22713}" +variables(#22714,"length",#22713) +#22715=@"var;{rest};{#22713}" +variables(#22715,"rest",#22713) +#22716=* +exprs(#22716,68,#22711,0,"{length, ...rest}") +#22717=@"loc,{#10000},78,11,78,27" +locations_default(#22717,#10000,78,11,78,27) +hasLocation(#22716,#22717) +expr_containers(#22716,#22711) +#22718=* +properties(#22718,#22716,0,0,"length") +hasLocation(#22718,#21763) +#22719=* +exprs(#22719,0,#22718,0,"length") +hasLocation(#22719,#21763) +expr_containers(#22719,#22711) +literals("length","length",#22719) +#22720=* +exprs(#22720,78,#22718,1,"length") +hasLocation(#22720,#21763) +expr_containers(#22720,#22711) +literals("length","length",#22720) +decl(#22720,#22714) +#22721=* +exprs(#22721,78,#22716,-1,"rest") +hasLocation(#22721,#21769) +expr_containers(#22721,#22711) +literals("rest","rest",#22721) +decl(#22721,#22715) +has_rest_parameter(#22711) +is_async(#22711) +#22722=* +exprs(#22722,79,#22711,-2,"length") +hasLocation(#22722,#21777) +expr_containers(#22722,#22711) +literals("length","length",#22722) +bind(#22722,#22714) +#22723=* +entry_cfg_node(#22723,#20001) +#22724=@"loc,{#10000},1,1,1,0" +locations_default(#22724,#10000,1,1,1,0) +hasLocation(#22723,#22724) +#22725=* +exit_cfg_node(#22725,#20001) +hasLocation(#22725,#21781) +successor(#22710,#22711) +successor(#22711,#22725) +#22726=* +entry_cfg_node(#22726,#22711) +#22727=@"loc,{#10000},78,1,78,0" +locations_default(#22727,#10000,78,1,78,0) +hasLocation(#22726,#22727) +#22728=* +exit_cfg_node(#22728,#22711) +#22729=@"loc,{#10000},78,39,78,38" +locations_default(#22729,#10000,78,39,78,38) +hasLocation(#22728,#22729) +successor(#22722,#22728) +successor(#22716,#22719) +successor(#22721,#22722) +successor(#22720,#22718) +successor(#22719,#22720) +successor(#22718,#22721) +successor(#22726,#22716) +successor(#22697,#22698) +successor(#22698,#22710) +#22730=* +entry_cfg_node(#22730,#22698) +#22731=@"loc,{#10000},77,1,77,0" +locations_default(#22731,#10000,77,1,77,0) +hasLocation(#22730,#22731) +#22732=* +exit_cfg_node(#22732,#22698) +#22733=@"loc,{#10000},77,33,77,32" +locations_default(#22733,#10000,77,33,77,32) +hasLocation(#22732,#22733) +successor(#22709,#22732) +successor(#22703,#22706) +successor(#22708,#22709) +successor(#22707,#22705) +successor(#22706,#22707) +successor(#22705,#22708) +successor(#22730,#22703) +successor(#22684,#22685) +successor(#22685,#22697) +#22734=* +entry_cfg_node(#22734,#22685) +#22735=@"loc,{#10000},76,1,76,0" +locations_default(#22735,#10000,76,1,76,0) +hasLocation(#22734,#22735) +#22736=* +exit_cfg_node(#22736,#22685) +#22737=@"loc,{#10000},76,33,76,32" +locations_default(#22737,#10000,76,33,76,32) +hasLocation(#22736,#22737) +successor(#22696,#22736) +successor(#22690,#22692) +successor(#22693,#22695) +successor(#22695,#22696) +successor(#22692,#22693) +successor(#22734,#22690) +successor(#22671,#22684) +#22738=* +entry_cfg_node(#22738,#22671) +#22739=@"loc,{#10000},75,1,75,0" +locations_default(#22739,#10000,75,1,75,0) +hasLocation(#22738,#22739) +#22740=* +exit_cfg_node(#22740,#22671) +#22741=@"loc,{#10000},75,45,75,44" +locations_default(#22741,#10000,75,45,75,44) +hasLocation(#22740,#22741) +successor(#22682,#22740) +successor(#22677,#22679) +successor(#22680,#22682) +successor(#22679,#22680) +successor(#22738,#22677) +successor(#22660,#22661) +successor(#22661,#22671) +#22742=* +entry_cfg_node(#22742,#22661) +#22743=@"loc,{#10000},74,1,74,0" +locations_default(#22743,#10000,74,1,74,0) +hasLocation(#22742,#22743) +#22744=* +exit_cfg_node(#22744,#22661) +#22745=@"loc,{#10000},74,39,74,38" +locations_default(#22745,#10000,74,39,74,38) +hasLocation(#22744,#22745) +successor(#22670,#22744) +successor(#22666,#22668) +successor(#22669,#22670) +successor(#22668,#22669) +successor(#22742,#22666) +successor(#22649,#22650) +successor(#22650,#22660) +#22746=* +entry_cfg_node(#22746,#22650) +#22747=@"loc,{#10000},73,1,73,0" +locations_default(#22747,#10000,73,1,73,0) +hasLocation(#22746,#22747) +#22748=* +exit_cfg_node(#22748,#22650) +#22749=@"loc,{#10000},73,33,73,32" +locations_default(#22749,#10000,73,33,73,32) +hasLocation(#22748,#22749) +successor(#22659,#22748) +successor(#22655,#22657) +successor(#22658,#22659) +successor(#22657,#22658) +successor(#22746,#22655) +successor(#22618,#22624) +successor(#22626,#22620) +#22750=* +entry_cfg_node(#22750,#22626) +#22751=@"loc,{#10000},71,14,71,13" +locations_default(#22751,#10000,71,14,71,13) +hasLocation(#22750,#22751) +#22752=* +exit_cfg_node(#22752,#22626) +#22753=@"loc,{#10000},71,88,71,87" +locations_default(#22753,#10000,71,88,71,87) +hasLocation(#22752,#22753) +successor(#22631,#22633) +successor(#22634,#22752) +#22754=* +entry_cfg_node(#22754,#22634) +#22755=@"loc,{#10000},71,31,71,30" +locations_default(#22755,#10000,71,31,71,30) +hasLocation(#22754,#22755) +#22756=* +exit_cfg_node(#22756,#22634) +#22757=@"loc,{#10000},71,87,71,86" +locations_default(#22757,#10000,71,87,71,86) +hasLocation(#22756,#22757) +successor(#22648,#22643) +successor(#22647,#22648) +successor(#22646,#22647) +successor(#22645,#22646) +successor(#22643,#22756) +successor(#22639,#22641) +successor(#22642,#22645) +successor(#22641,#22642) +successor(#22754,#22639) +successor(#22633,#22634) +successor(#22630,#22631) +successor(#22750,#22630) +successor(#22625,#22622) +successor(#22624,#22625) +successor(#22622,#22626) +successor(#22620,#22649) +successor(#22591,#22618) +#22758=* +entry_cfg_node(#22758,#22591) +#22759=@"loc,{#10000},68,3,68,2" +locations_default(#22759,#10000,68,3,68,2) +hasLocation(#22758,#22759) +#22760=* +exit_cfg_node(#22760,#22591) +#22761=@"loc,{#10000},70,4,70,3" +locations_default(#22761,#10000,70,4,70,3) +hasLocation(#22760,#22761) +successor(#22607,#22610) +successor(#22617,#22615) +successor(#22616,#22617) +successor(#22615,#22605) +successor(#22614,#22612) +successor(#22613,#22614) +successor(#22612,#22616) +successor(#22611,#22609) +successor(#22610,#22611) +successor(#22609,#22613) +successor(#22605,#22760) +successor(#22603,#22607) +successor(#22601,#22603) +successor(#22599,#22601) +successor(#22597,#22599) +successor(#22758,#22597) +successor(#22581,#22585) +successor(#22586,#22588) +successor(#22590,#22583) +successor(#22589,#22590) +successor(#22588,#22589) +successor(#22585,#22586) +successor(#22583,#22591) +successor(#22593,#22581) +successor(#22577,#22593) +successor(#22568,#22571) +successor(#22571,#22575) +successor(#22576,#22573) +successor(#22575,#22576) +successor(#22573,#22569) +successor(#22569,#22577) +successor(#22562,#22565) +successor(#22565,#22567) +successor(#22567,#22563) +successor(#22563,#22568) +successor(#22555,#22558) +successor(#22561,#22556) +successor(#22558,#22560) +successor(#22560,#22561) +successor(#22556,#22562) +successor(#22543,#22542) +successor(#22542,#22546) +successor(#22542,#22555) +successor(#22553,#22542) +successor(#22552,#22544) +successor(#22546,#22551) +successor(#22551,#22550) +successor(#22550,#22548) +successor(#22548,#22552) +successor(#22544,#22553) +successor(#22527,#22528) +successor(#22528,#22530) +successor(#22530,#22532) +successor(#22541,#22538) +successor(#22540,#22541) +successor(#22538,#22543) +successor(#22532,#22537) +successor(#22537,#22536) +successor(#22536,#22534) +successor(#22534,#22540) +successor(#22513,#22514) +successor(#22514,#22516) +successor(#22516,#22518) +successor(#22518,#22523) +successor(#22523,#22522) +successor(#22522,#22520) +successor(#22520,#22524) +successor(#22520,#22525) +successor(#22524,#22527) +successor(#22525,#22527) +successor(#22504,#22507) +successor(#22507,#22512) +successor(#22512,#22511) +successor(#22511,#22509) +successor(#22509,#22505) +successor(#22505,#22513) +successor(#22494,#22497) +successor(#22498,#22503) +successor(#22503,#22502) +successor(#22502,#22500) +successor(#22500,#22495) +successor(#22497,#22498) +successor(#22495,#22504) +successor(#22475,#22476) +successor(#22476,#22493) +successor(#22480,#22484) +successor(#22491,#22478) +successor(#22492,#22491) +successor(#22490,#22482) +successor(#22484,#22489) +successor(#22489,#22488) +successor(#22488,#22486) +successor(#22486,#22490) +successor(#22482,#22492) +successor(#22493,#22480) +successor(#22478,#22494) +successor(#22456,#22457) +successor(#22457,#22475) +#22762=* +entry_cfg_node(#22762,#22457) +#22763=@"loc,{#10000},53,1,53,0" +locations_default(#22763,#10000,53,1,53,0) +hasLocation(#22762,#22763) +#22764=* +exit_cfg_node(#22764,#22457) +#22765=@"loc,{#10000},53,29,53,28" +locations_default(#22765,#10000,53,29,53,28) +hasLocation(#22764,#22765) +successor(#22474,#22764) +successor(#22462,#22466) +successor(#22473,#22469) +successor(#22472,#22473) +successor(#22471,#22472) +successor(#22469,#22474) +successor(#22468,#22464) +successor(#22467,#22468) +successor(#22466,#22467) +successor(#22464,#22471) +successor(#22762,#22462) +successor(#22438,#22439) +successor(#22439,#22455) +successor(#22443,#22447) +successor(#22454,#22450) +successor(#22453,#22454) +successor(#22452,#22453) +successor(#22450,#22441) +successor(#22449,#22445) +successor(#22448,#22449) +successor(#22447,#22448) +successor(#22445,#22452) +successor(#22455,#22443) +successor(#22441,#22456) +successor(#22422,#22423) +successor(#22423,#22425) +successor(#22425,#22430) +successor(#22437,#22434) +successor(#22436,#22437) +successor(#22434,#22431) +successor(#22433,#22436) +successor(#22431,#22438) +successor(#22430,#22429) +successor(#22429,#22427) +successor(#22427,#22433) +successor(#22410,#22413) +successor(#22421,#22418) +successor(#22420,#22421) +successor(#22418,#22411) +successor(#22417,#22415) +successor(#22415,#22420) +successor(#22413,#22417) +successor(#22411,#22422) +successor(#22399,#22402) +successor(#22409,#22406) +successor(#22408,#22409) +successor(#22406,#22400) +successor(#22405,#22403) +successor(#22403,#22408) +successor(#22402,#22405) +successor(#22400,#22410) +successor(#22388,#22389) +successor(#22389,#22393) +successor(#22398,#22395) +successor(#22397,#22398) +successor(#22395,#22399) +successor(#22393,#22391) +successor(#22391,#22397) +successor(#22373,#22376) +successor(#22378,#22383) +successor(#22387,#22384) +successor(#22386,#22387) +successor(#22384,#22374) +successor(#22383,#22382) +successor(#22382,#22380) +successor(#22380,#22386) +successor(#22376,#22378) +successor(#22374,#22388) +successor(#22347,#22348) +successor(#22348,#22372) +successor(#22352,#22358) +successor(#22370,#22350) +successor(#22369,#22354) +successor(#22368,#22356) +successor(#22358,#22363) +successor(#22367,#22364) +successor(#22366,#22367) +successor(#22364,#22368) +successor(#22363,#22362) +successor(#22362,#22360) +successor(#22360,#22366) +successor(#22356,#22369) +successor(#22354,#22370) +successor(#22372,#22352) +successor(#22350,#22373) +successor(#22324,#22325) +successor(#22325,#22346) +successor(#22329,#22333) +successor(#22345,#22331) +successor(#22333,#22335) +successor(#22335,#22340) +successor(#22344,#22341) +successor(#22343,#22344) +successor(#22341,#22345) +successor(#22340,#22339) +successor(#22339,#22337) +successor(#22337,#22343) +successor(#22331,#22327) +successor(#22346,#22329) +successor(#22327,#22347) +successor(#22303,#22304) +successor(#22304,#22323) +successor(#22308,#22312) +successor(#22322,#22310) +successor(#22312,#22317) +successor(#22321,#22318) +successor(#22320,#22321) +successor(#22318,#22322) +successor(#22317,#22316) +successor(#22316,#22314) +successor(#22314,#22320) +successor(#22310,#22306) +successor(#22323,#22308) +successor(#22306,#22324) +successor(#22284,#22285) +successor(#22285,#22303) +#22766=* +entry_cfg_node(#22766,#22285) +#22767=@"loc,{#10000},42,1,42,0" +locations_default(#22767,#10000,42,1,42,0) +hasLocation(#22766,#22767) +#22768=* +exit_cfg_node(#22768,#22285) +#22769=@"loc,{#10000},42,41,42,40" +locations_default(#22769,#10000,42,41,42,40) +hasLocation(#22768,#22769) +successor(#22302,#22768) +successor(#22290,#22294) +successor(#22299,#22302) +successor(#22296,#22298) +successor(#22298,#22292) +successor(#22295,#22296) +successor(#22294,#22295) +successor(#22292,#22299) +successor(#22300,#22290) +successor(#22766,#22300) +successor(#22267,#22268) +successor(#22268,#22284) +#22770=* +entry_cfg_node(#22770,#22268) +#22771=@"loc,{#10000},41,1,41,0" +locations_default(#22771,#10000,41,1,41,0) +hasLocation(#22770,#22771) +#22772=* +exit_cfg_node(#22772,#22268) +#22773=@"loc,{#10000},41,35,41,34" +locations_default(#22773,#10000,41,35,41,34) +hasLocation(#22772,#22773) +successor(#22283,#22772) +successor(#22273,#22277) +successor(#22276,#22283) +successor(#22275,#22276) +successor(#22277,#22279) +successor(#22279,#22275) +successor(#22281,#22273) +successor(#22770,#22281) +successor(#22243,#22244) +successor(#22244,#22267) +#22774=* +entry_cfg_node(#22774,#22244) +#22775=@"loc,{#10000},40,1,40,0" +locations_default(#22775,#10000,40,1,40,0) +hasLocation(#22774,#22775) +#22776=* +exit_cfg_node(#22776,#22244) +#22777=@"loc,{#10000},40,43,40,42" +locations_default(#22777,#10000,40,43,40,42) +hasLocation(#22776,#22777) +successor(#22266,#22776) +successor(#22249,#22253) +successor(#22265,#22266) +successor(#22255,#22260) +successor(#22264,#22261) +successor(#22263,#22264) +successor(#22261,#22251) +successor(#22260,#22259) +successor(#22259,#22257) +successor(#22257,#22263) +successor(#22254,#22255) +successor(#22253,#22254) +successor(#22251,#22265) +successor(#22774,#22249) +successor(#22219,#22220) +successor(#22220,#22243) +#22778=* +entry_cfg_node(#22778,#22220) +#22779=@"loc,{#10000},39,1,39,0" +locations_default(#22779,#10000,39,1,39,0) +hasLocation(#22778,#22779) +#22780=* +exit_cfg_node(#22780,#22220) +#22781=@"loc,{#10000},39,37,39,36" +locations_default(#22781,#10000,39,37,39,36) +hasLocation(#22780,#22781) +successor(#22242,#22780) +successor(#22225,#22229) +successor(#22241,#22242) +successor(#22231,#22236) +successor(#22240,#22237) +successor(#22239,#22240) +successor(#22237,#22227) +successor(#22236,#22235) +successor(#22235,#22233) +successor(#22233,#22239) +successor(#22230,#22231) +successor(#22229,#22230) +successor(#22227,#22241) +successor(#22778,#22225) +successor(#22196,#22217) +successor(#22200,#22204) +successor(#22216,#22198) +successor(#22206,#22211) +successor(#22215,#22212) +successor(#22214,#22215) +successor(#22212,#22202) +successor(#22211,#22210) +successor(#22210,#22208) +successor(#22208,#22214) +successor(#22205,#22206) +successor(#22204,#22205) +successor(#22202,#22216) +successor(#22217,#22200) +successor(#22198,#22219) +successor(#22191,#22196) +successor(#22176,#22177) +successor(#22177,#22179) +successor(#22179,#22184) +successor(#22189,#22188) +successor(#22188,#22186) +successor(#22186,#22191) +successor(#22184,#22183) +successor(#22183,#22181) +successor(#22181,#22189) +successor(#22163,#22164) +successor(#22164,#22166) +successor(#22166,#22171) +successor(#22175,#22172) +successor(#22174,#22175) +successor(#22172,#22176) +successor(#22171,#22170) +successor(#22170,#22168) +successor(#22168,#22174) +successor(#22154,#22155) +successor(#22155,#22157) +successor(#22157,#22162) +successor(#22162,#22161) +successor(#22161,#22159) +successor(#22159,#22163) +successor(#22139,#22140) +successor(#22140,#22153) +successor(#22144,#22147) +successor(#22152,#22149) +successor(#22151,#22152) +successor(#22149,#22142) +successor(#22148,#22146) +successor(#22147,#22148) +successor(#22146,#22151) +successor(#22153,#22144) +successor(#22142,#22154) +successor(#22128,#22138) +successor(#22132,#22135) +successor(#22137,#22130) +successor(#22136,#22134) +successor(#22135,#22136) +successor(#22134,#22137) +successor(#22138,#22132) +successor(#22130,#22139) +successor(#22123,#22128) +successor(#22109,#22110) +successor(#22110,#22122) +successor(#22114,#22116) +successor(#22116,#22120) +successor(#22121,#22118) +successor(#22120,#22121) +successor(#22118,#22112) +successor(#22122,#22114) +successor(#22112,#22123) +successor(#22097,#22098) +successor(#22098,#22108) +successor(#22102,#22106) +successor(#22107,#22104) +successor(#22106,#22107) +successor(#22104,#22100) +successor(#22108,#22102) +successor(#22100,#22109) +successor(#22085,#22086) +successor(#22086,#22096) +successor(#22090,#22092) +successor(#22092,#22094) +successor(#22094,#22088) +successor(#22096,#22090) +successor(#22088,#22097) +successor(#22071,#22072) +successor(#22072,#22084) +successor(#22076,#22078) +successor(#22078,#22082) +successor(#22083,#22080) +successor(#22082,#22083) +successor(#22080,#22074) +successor(#22084,#22076) +successor(#22074,#22085) +successor(#22053,#22054) +successor(#22054,#22070) +successor(#22058,#22060) +successor(#22060,#22064) +successor(#22069,#22065) +successor(#22067,#22069) +successor(#22065,#22062) +successor(#22064,#22067) +successor(#22062,#22056) +successor(#22070,#22058) +successor(#22056,#22071) +successor(#22035,#22036) +successor(#22036,#22053) +successor(#22038,#22043) +successor(#22051,#22053) +successor(#22043,#22045) +successor(#22046,#22049) +successor(#22050,#22048) +successor(#22049,#22050) +successor(#22048,#22051) +successor(#22045,#22046) +successor(#22018,#22017) +successor(#22017,#22022) +successor(#22017,#22035) +successor(#22033,#22017) +successor(#22022,#22026) +successor(#22026,#22027) +successor(#22028,#22031) +successor(#22032,#22030) +successor(#22031,#22032) +successor(#22030,#22024) +successor(#22027,#22028) +successor(#22024,#22033) +successor(#22001,#22002) +successor(#22002,#22016) +successor(#22006,#22008) +successor(#22010,#22013) +successor(#22014,#22012) +successor(#22013,#22014) +successor(#22012,#22004) +successor(#22008,#22010) +successor(#22016,#22006) +successor(#22004,#22018) +successor(#21987,#21999) +successor(#21991,#21993) +successor(#21994,#21997) +successor(#21998,#21996) +successor(#21997,#21998) +successor(#21996,#21989) +successor(#21993,#21994) +successor(#21999,#21991) +successor(#21989,#22001) +successor(#21982,#21987) +successor(#21967,#21968) +successor(#21968,#21982) +#22782=* +entry_cfg_node(#22782,#21968) +#22783=@"loc,{#10000},14,1,14,0" +locations_default(#22783,#10000,14,1,14,0) +hasLocation(#22782,#22783) +#22784=* +exit_cfg_node(#22784,#21968) +#22785=@"loc,{#10000},14,33,14,32" +locations_default(#22785,#10000,14,33,14,32) +hasLocation(#22784,#22785) +successor(#21981,#22784) +successor(#21973,#21975) +successor(#21976,#21979) +successor(#21980,#21978) +successor(#21979,#21980) +successor(#21978,#21981) +successor(#21975,#21976) +successor(#22782,#21973) +successor(#21952,#21953) +successor(#21953,#21967) +#22786=* +entry_cfg_node(#22786,#21953) +#22787=@"loc,{#10000},13,1,13,0" +locations_default(#22787,#10000,13,1,13,0) +hasLocation(#22786,#22787) +#22788=* +exit_cfg_node(#22788,#21953) +#22789=@"loc,{#10000},13,42,13,41" +locations_default(#22789,#10000,13,42,13,41) +hasLocation(#22788,#22789) +successor(#21966,#22788) +successor(#21958,#21960) +successor(#21961,#21964) +successor(#21965,#21963) +successor(#21964,#21965) +successor(#21963,#21966) +successor(#21960,#21961) +successor(#22786,#21958) +successor(#21937,#21938) +successor(#21938,#21952) +#22790=* +entry_cfg_node(#22790,#21938) +#22791=@"loc,{#10000},12,1,12,0" +locations_default(#22791,#10000,12,1,12,0) +hasLocation(#22790,#22791) +#22792=* +exit_cfg_node(#22792,#21938) +#22793=@"loc,{#10000},12,36,12,35" +locations_default(#22793,#10000,12,36,12,35) +hasLocation(#22792,#22793) +successor(#21951,#22792) +successor(#21943,#21945) +successor(#21946,#21949) +successor(#21950,#21948) +successor(#21949,#21950) +successor(#21948,#21951) +successor(#21945,#21946) +successor(#22790,#21943) +successor(#21922,#21923) +successor(#21923,#21937) +#22794=* +entry_cfg_node(#22794,#21923) +#22795=@"loc,{#10000},10,1,10,0" +locations_default(#22795,#10000,10,1,10,0) +hasLocation(#22794,#22795) +#22796=* +exit_cfg_node(#22796,#21923) +#22797=@"loc,{#10000},10,36,10,35" +locations_default(#22797,#10000,10,36,10,35) +hasLocation(#22796,#22797) +successor(#21936,#22796) +successor(#21928,#21932) +successor(#21935,#21936) +successor(#21934,#21930) +successor(#21933,#21934) +successor(#21932,#21933) +successor(#21930,#21935) +successor(#22794,#21928) +successor(#21907,#21908) +successor(#21908,#21922) +#22798=* +entry_cfg_node(#22798,#21908) +#22799=@"loc,{#10000},9,1,9,0" +locations_default(#22799,#10000,9,1,9,0) +hasLocation(#22798,#22799) +#22800=* +exit_cfg_node(#22800,#21908) +#22801=@"loc,{#10000},9,30,9,29" +locations_default(#22801,#10000,9,30,9,29) +hasLocation(#22800,#22801) +successor(#21921,#22800) +successor(#21913,#21917) +successor(#21920,#21921) +successor(#21919,#21915) +successor(#21918,#21919) +successor(#21917,#21918) +successor(#21915,#21920) +successor(#22798,#21913) +successor(#21894,#21891) +#22802=* +entry_cfg_node(#22802,#21894) +#22803=@"loc,{#10000},8,31,8,30" +locations_default(#22803,#10000,8,31,8,30) +hasLocation(#22802,#22803) +#22804=* +exit_cfg_node(#22804,#21894) +#22805=@"loc,{#10000},8,47,8,46" +locations_default(#22805,#10000,8,47,8,46) +hasLocation(#22804,#22805) +successor(#21905,#22804) +successor(#21899,#21902) +successor(#21903,#21901) +successor(#21902,#21903) +successor(#21901,#21905) +successor(#22802,#21899) +successor(#21893,#21894) +successor(#21891,#21887) +successor(#21888,#21893) +successor(#21887,#21907) +successor(#21866,#21867) +successor(#21867,#21869) +successor(#21869,#21873) +successor(#21874,#21871) +#22806=* +entry_cfg_node(#22806,#21874) +#22807=@"loc,{#10000},7,10,7,9" +locations_default(#22807,#10000,7,10,7,9) +hasLocation(#22806,#22807) +#22808=* +exit_cfg_node(#22808,#21874) +#22809=@"loc,{#10000},7,26,7,25" +locations_default(#22809,#10000,7,26,7,25) +hasLocation(#22808,#22809) +successor(#21885,#22808) +successor(#21879,#21882) +successor(#21883,#21881) +successor(#21882,#21883) +successor(#21881,#21885) +successor(#22806,#21879) +successor(#21873,#21874) +successor(#21871,#21888) +successor(#21853,#21866) +#22810=* +entry_cfg_node(#22810,#21853) +#22811=@"loc,{#10000},6,1,6,0" +locations_default(#22811,#10000,6,1,6,0) +hasLocation(#22810,#22811) +#22812=* +exit_cfg_node(#22812,#21853) +#22813=@"loc,{#10000},6,44,6,43" +locations_default(#22813,#10000,6,44,6,43) +hasLocation(#22812,#22813) +successor(#21864,#22812) +successor(#21858,#21861) +successor(#21862,#21860) +successor(#21861,#21862) +successor(#21860,#21864) +successor(#22810,#21858) +successor(#21840,#21853) +#22814=* +entry_cfg_node(#22814,#21840) +#22815=@"loc,{#10000},5,1,5,0" +locations_default(#22815,#10000,5,1,5,0) +hasLocation(#22814,#22815) +#22816=* +exit_cfg_node(#22816,#21840) +#22817=@"loc,{#10000},5,38,5,37" +locations_default(#22817,#10000,5,38,5,37) +hasLocation(#22816,#22817) +successor(#21851,#22816) +successor(#21845,#21848) +successor(#21849,#21847) +successor(#21848,#21849) +successor(#21847,#21851) +successor(#22814,#21845) +successor(#21827,#21840) +#22818=* +entry_cfg_node(#22818,#21827) +#22819=@"loc,{#10000},4,1,4,0" +locations_default(#22819,#10000,4,1,4,0) +hasLocation(#22818,#22819) +#22820=* +exit_cfg_node(#22820,#21827) +#22821=@"loc,{#10000},4,43,4,42" +locations_default(#22821,#10000,4,43,4,42) +hasLocation(#22820,#22821) +successor(#21838,#22820) +successor(#21832,#21835) +successor(#21836,#21834) +successor(#21835,#21836) +successor(#21834,#21838) +successor(#22818,#21832) +successor(#21814,#21827) +#22822=* +entry_cfg_node(#22822,#21814) +#22823=@"loc,{#10000},3,1,3,0" +locations_default(#22823,#10000,3,1,3,0) +hasLocation(#22822,#22823) +#22824=* +exit_cfg_node(#22824,#21814) +#22825=@"loc,{#10000},3,37,3,36" +locations_default(#22825,#10000,3,37,3,36) +hasLocation(#22824,#22825) +successor(#21825,#22824) +successor(#21819,#21822) +successor(#21823,#21821) +successor(#21822,#21823) +successor(#21821,#21825) +successor(#22822,#21819) +successor(#21803,#21804) +successor(#21804,#21814) +#22826=* +entry_cfg_node(#22826,#21804) +#22827=@"loc,{#10000},2,1,2,0" +locations_default(#22827,#10000,2,1,2,0) +hasLocation(#22826,#22827) +#22828=* +exit_cfg_node(#22828,#21804) +#22829=@"loc,{#10000},2,30,2,29" +locations_default(#22829,#10000,2,30,2,29) +hasLocation(#22828,#22829) +successor(#21813,#22828) +successor(#21808,#21811) +successor(#21812,#21810) +successor(#21811,#21812) +successor(#21810,#21813) +successor(#22826,#21808) +successor(#21792,#21793) +successor(#21793,#21803) +#22830=* +entry_cfg_node(#22830,#21793) +hasLocation(#22830,#22724) +#22831=* +exit_cfg_node(#22831,#21793) +#22832=@"loc,{#10000},1,24,1,23" +locations_default(#22832,#10000,1,24,1,23) +hasLocation(#22831,#22832) +successor(#21802,#22831) +successor(#21797,#21800) +successor(#21801,#21799) +successor(#21800,#21801) +successor(#21799,#21802) +successor(#22830,#21797) +successor(#22672,#21792) +successor(#21854,#22672) +successor(#21841,#21854) +successor(#21828,#21841) +successor(#21815,#21828) +successor(#22723,#21815) +numlines(#10000,78,70,0) +filetype(#10000,"javascript") diff --git a/javascript/ql/test/library-tests/SSA/GetRhsNode/GetRhsNode.expected b/javascript/ql/test/library-tests/SSA/GetRhsNode/GetRhsNode.expected index fba49cf683bb..5f877de1a4f7 100644 --- a/javascript/ql/test/library-tests/SSA/GetRhsNode/GetRhsNode.expected +++ b/javascript/ql/test/library-tests/SSA/GetRhsNode/GetRhsNode.expected @@ -4,9 +4,6 @@ | tst.js:6:26:6:26 | { propC ... } = g() | tst.js:6:26:6:26 | d | tst.js:6:19:6:26 | propD: d | | tst.js:8:22:8:25 | { array ... } = g() | tst.js:8:22:8:25 | elm1 | tst.js:8:22:8:25 | elm1 | | tst.js:8:28:8:31 | { array ... } = g() | tst.js:8:28:8:31 | elm2 | tst.js:8:28:8:31 | elm2 | -| tst.js:17:13:17:13 | ({ propB: b }) = g() | tst.js:4:16:4:16 | b | tst.js:17:6:17:13 | propB: b | -| tst.js:19:13:19:13 | ({ prop ... ) = g() | tst.js:6:16:6:16 | c | tst.js:19:6:19:13 | propC: c | -| tst.js:19:23:19:23 | ({ prop ... ) = g() | tst.js:6:26:6:26 | d | tst.js:19:16:19:23 | propD: d | | tst.js:21:5:21:8 | [ elm1, elm2 ] = g() | tst.js:8:22:8:25 | elm1 | tst.js:21:5:21:8 | elm1 | | tst.js:21:11:21:14 | [ elm1, elm2 ] = g() | tst.js:8:28:8:31 | elm2 | tst.js:21:11:21:14 | elm2 | | tst.js:31:13:31:16 | [elm1, elm2] | tst.js:31:13:31:16 | elm1 | tst.js:31:13:31:16 | elm1 | diff --git a/javascript/ql/test/library-tests/SSA/GetRhsNode/tst.js b/javascript/ql/test/library-tests/SSA/GetRhsNode/tst.js index e37e040420d4..0f619a52e1f5 100644 --- a/javascript/ql/test/library-tests/SSA/GetRhsNode/tst.js +++ b/javascript/ql/test/library-tests/SSA/GetRhsNode/tst.js @@ -14,9 +14,9 @@ function f() { elm1; elm2; - ({ propB: b }) = g(); + // ({ propB: b }) = g(); // Unexpected token '=' - ({ propC: c, propD: d }) = g(); + // ({ propC: c, propD: d }) = g(); // Invalid left-hand side in assignment [ elm1, elm2 ] = g();