@@ -30,6 +30,8 @@ parseUnit(f)
3030 parseStatement({)
3131 parseStatementX({)
3232 parseExpressionStatementOrDeclarationAfterModifiers(var, {, null, var, null, null)
33+ skipOuterPattern(var)
34+ skipObjectPatternRest(a)
3335 looksLikeLocalFunction(a)
3436 listener: beginMetadataStar(var)
3537 listener: endMetadataStar(0)
@@ -66,6 +68,9 @@ parseUnit(f)
6668 looksLikeLocalFunction(a)
6769 parseExpressionStatement(;)
6870 parseExpression(;)
71+ looksLikeOuterPatternEquals(;)
72+ skipOuterPattern(;)
73+ skipObjectPatternRest(a)
6974 parsePrecedenceExpression(;, 1, true, ConstantPatternContext.none)
7075 parseUnaryExpression(;, true, ConstantPatternContext.none)
7176 parsePrimary(;, expression, ConstantPatternContext.none)
@@ -84,6 +89,9 @@ parseUnit(f)
8489 parsePrimary(?, expression, ConstantPatternContext.none)
8590 parseLiteralListSuffix(?, null)
8691 parseExpression([)
92+ looksLikeOuterPatternEquals([)
93+ skipOuterPattern([)
94+ skipObjectPatternRest(b)
8795 parsePrecedenceExpression([, 1, true, ConstantPatternContext.none)
8896 parseUnaryExpression([, true, ConstantPatternContext.none)
8997 parsePrimary([, expression, ConstantPatternContext.none)
@@ -108,6 +116,9 @@ parseUnit(f)
108116 listener: handleNoTypeArguments([)
109117 parseLiteralListSuffix(?, null)
110118 parseExpression([)
119+ looksLikeOuterPatternEquals([)
120+ skipOuterPattern([)
121+ skipObjectPatternRest(b)
111122 parsePrecedenceExpression([, 1, true, ConstantPatternContext.none)
112123 parseUnaryExpression([, true, ConstantPatternContext.none)
113124 parsePrimary([, expression, ConstantPatternContext.none)
@@ -144,6 +155,9 @@ parseUnit(f)
144155 looksLikeLocalFunction(a)
145156 parseExpressionStatement(;)
146157 parseExpression(;)
158+ looksLikeOuterPatternEquals(;)
159+ skipOuterPattern(;)
160+ skipObjectPatternRest(a)
147161 parsePrecedenceExpression(;, 1, true, ConstantPatternContext.none)
148162 parseUnaryExpression(;, true, ConstantPatternContext.none)
149163 parsePrimary(;, expression, ConstantPatternContext.none)
@@ -162,6 +176,9 @@ parseUnit(f)
162176 parsePrimary(?, expression, ConstantPatternContext.none)
163177 parseLiteralListSuffix(?, null)
164178 parseExpression([)
179+ looksLikeOuterPatternEquals([)
180+ skipOuterPattern([)
181+ skipObjectPatternRest(b)
165182 parsePrecedenceExpression([, 1, true, ConstantPatternContext.none)
166183 parseUnaryExpression([, true, ConstantPatternContext.none)
167184 parsePrimary([, expression, ConstantPatternContext.none)
@@ -186,6 +203,9 @@ parseUnit(f)
186203 listener: handleNoTypeArguments([)
187204 parseLiteralListSuffix(?, null)
188205 parseExpression([)
206+ looksLikeOuterPatternEquals([)
207+ skipOuterPattern([)
208+ skipObjectPatternRest(b)
189209 parsePrecedenceExpression([, 1, true, ConstantPatternContext.none)
190210 parseUnaryExpression([, true, ConstantPatternContext.none)
191211 parsePrimary([, expression, ConstantPatternContext.none)
@@ -222,6 +242,9 @@ parseUnit(f)
222242 looksLikeLocalFunction(a)
223243 parseExpressionStatement(;)
224244 parseExpression(;)
245+ looksLikeOuterPatternEquals(;)
246+ skipOuterPattern(;)
247+ skipObjectPatternRest(a)
225248 parsePrecedenceExpression(;, 1, true, ConstantPatternContext.none)
226249 parseUnaryExpression(;, true, ConstantPatternContext.none)
227250 parsePrimary(;, expression, ConstantPatternContext.none)
@@ -240,6 +263,9 @@ parseUnit(f)
240263 parsePrimary(?, expression, ConstantPatternContext.none)
241264 parseLiteralListSuffix(?, null)
242265 parseExpression([)
266+ looksLikeOuterPatternEquals([)
267+ skipOuterPattern([)
268+ skipObjectPatternRest(b)
243269 parsePrecedenceExpression([, 1, true, ConstantPatternContext.none)
244270 parseUnaryExpression([, true, ConstantPatternContext.none)
245271 parsePrimary([, expression, ConstantPatternContext.none)
@@ -271,6 +297,9 @@ parseUnit(f)
271297 listener: handleNoTypeArguments([)
272298 parseLiteralListSuffix(?, null)
273299 parseExpression([)
300+ looksLikeOuterPatternEquals([)
301+ skipOuterPattern([)
302+ skipObjectPatternRest(b)
274303 parsePrecedenceExpression([, 1, true, ConstantPatternContext.none)
275304 parseUnaryExpression([, true, ConstantPatternContext.none)
276305 parsePrimary([, expression, ConstantPatternContext.none)
@@ -320,6 +349,9 @@ parseUnit(f)
320349 looksLikeLocalFunction(a)
321350 parseExpressionStatement(;)
322351 parseExpression(;)
352+ looksLikeOuterPatternEquals(;)
353+ skipOuterPattern(;)
354+ skipObjectPatternRest(a)
323355 parsePrecedenceExpression(;, 1, true, ConstantPatternContext.none)
324356 parseUnaryExpression(;, true, ConstantPatternContext.none)
325357 parsePrimary(;, expression, ConstantPatternContext.none)
@@ -338,6 +370,9 @@ parseUnit(f)
338370 parsePrimary(?, expression, ConstantPatternContext.none)
339371 parseLiteralListSuffix(?, null)
340372 parseExpression([)
373+ looksLikeOuterPatternEquals([)
374+ skipOuterPattern([)
375+ skipObjectPatternRest(b)
341376 parsePrecedenceExpression([, 1, true, ConstantPatternContext.none)
342377 parseUnaryExpression([, true, ConstantPatternContext.none)
343378 parsePrimary([, expression, ConstantPatternContext.none)
@@ -369,6 +404,9 @@ parseUnit(f)
369404 listener: handleNoTypeArguments([)
370405 parseLiteralListSuffix(?, null)
371406 parseExpression([)
407+ looksLikeOuterPatternEquals([)
408+ skipOuterPattern([)
409+ skipObjectPatternRest(b)
372410 parsePrecedenceExpression([, 1, true, ConstantPatternContext.none)
373411 parseUnaryExpression([, true, ConstantPatternContext.none)
374412 parsePrimary([, expression, ConstantPatternContext.none)
@@ -418,6 +456,9 @@ parseUnit(f)
418456 looksLikeLocalFunction(a)
419457 parseExpressionStatement(;)
420458 parseExpression(;)
459+ looksLikeOuterPatternEquals(;)
460+ skipOuterPattern(;)
461+ skipObjectPatternRest(a)
421462 parsePrecedenceExpression(;, 1, true, ConstantPatternContext.none)
422463 parseUnaryExpression(;, true, ConstantPatternContext.none)
423464 parsePrimary(;, expression, ConstantPatternContext.none)
@@ -443,6 +484,9 @@ parseUnit(f)
443484 listener: endTypeArguments(1, <, >)
444485 parseLiteralListSuffix(>, null)
445486 parseExpression([)
487+ looksLikeOuterPatternEquals([)
488+ skipOuterPattern([)
489+ skipObjectPatternRest(b)
446490 parsePrecedenceExpression([, 1, true, ConstantPatternContext.none)
447491 parseUnaryExpression([, true, ConstantPatternContext.none)
448492 parsePrimary([, expression, ConstantPatternContext.none)
@@ -469,6 +513,9 @@ parseUnit(f)
469513 listener: endTypeArguments(1, <, >)
470514 parseLiteralListSuffix(>, null)
471515 parseExpression([)
516+ looksLikeOuterPatternEquals([)
517+ skipOuterPattern([)
518+ skipObjectPatternRest(c)
472519 parsePrecedenceExpression([, 1, true, ConstantPatternContext.none)
473520 parseUnaryExpression([, true, ConstantPatternContext.none)
474521 parsePrimary([, expression, ConstantPatternContext.none)
@@ -491,6 +538,9 @@ parseUnit(f)
491538 looksLikeLocalFunction(a)
492539 parseExpressionStatement(;)
493540 parseExpression(;)
541+ looksLikeOuterPatternEquals(;)
542+ skipOuterPattern(;)
543+ skipObjectPatternRest(a)
494544 parsePrecedenceExpression(;, 1, true, ConstantPatternContext.none)
495545 parseUnaryExpression(;, true, ConstantPatternContext.none)
496546 parsePrimary(;, expression, ConstantPatternContext.none)
@@ -512,12 +562,17 @@ parseUnit(f)
512562 parseParenthesizedExpressionOrRecordLiteral(?, null, ConstantPatternContext.none)
513563 listener: beginParenthesizedExpressionOrRecordLiteral(()
514564 parseExpression(()
565+ looksLikeOuterPatternEquals(()
566+ skipOuterPattern(()
515567 parsePrecedenceExpression((, 1, true, ConstantPatternContext.none)
516568 parseUnaryExpression((, true, ConstantPatternContext.none)
517569 parsePrimary((, expression, ConstantPatternContext.none)
518570 listener: handleNoTypeArguments([)
519571 parseLiteralListSuffix((, null)
520572 parseExpression([)
573+ looksLikeOuterPatternEquals([)
574+ skipOuterPattern([)
575+ skipObjectPatternRest(b)
521576 parsePrecedenceExpression([, 1, true, ConstantPatternContext.none)
522577 parseUnaryExpression([, true, ConstantPatternContext.none)
523578 parsePrimary([, expression, ConstantPatternContext.none)
@@ -542,12 +597,17 @@ parseUnit(f)
542597 parseParenthesizedExpressionOrRecordLiteral(:, null, ConstantPatternContext.none)
543598 listener: beginParenthesizedExpressionOrRecordLiteral(()
544599 parseExpression(()
600+ looksLikeOuterPatternEquals(()
601+ skipOuterPattern(()
545602 parsePrecedenceExpression((, 1, true, ConstantPatternContext.none)
546603 parseUnaryExpression((, true, ConstantPatternContext.none)
547604 parsePrimary((, expression, ConstantPatternContext.none)
548605 listener: handleNoTypeArguments([)
549606 parseLiteralListSuffix((, null)
550607 parseExpression([)
608+ looksLikeOuterPatternEquals([)
609+ skipOuterPattern([)
610+ skipObjectPatternRest(c)
551611 parsePrecedenceExpression([, 1, true, ConstantPatternContext.none)
552612 parseUnaryExpression([, true, ConstantPatternContext.none)
553613 parsePrimary([, expression, ConstantPatternContext.none)
0 commit comments