Skip to content

Commit 31c5eb2

Browse files
committed
place YIELD rules together
1 parent 5aad722 commit 31c5eb2

File tree

1 file changed

+10
-14
lines changed

1 file changed

+10
-14
lines changed

src/Compiler/pars.fsy

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4446,6 +4446,16 @@ declExpr:
44464446
SynExpr.Typed($2, ty, unionRanges $2.Range m)
44474447
SynExpr.YieldOrReturn(($1, not $1), expr, (unionRanges (rhs parseState 1) expr.Range), trivia) }
44484448

4449+
| YIELD recover
4450+
{ let mYieldAll = rhs parseState 1
4451+
let trivia: SynExprYieldOrReturnTrivia = { YieldOrReturnKeyword = rhs parseState 1 }
4452+
SynExpr.YieldOrReturn(($1, not $1), arbExpr ("yield", mYieldAll), mYieldAll, trivia) }
4453+
4454+
| YIELD_BANG recover
4455+
{ let mYieldAll = rhs parseState 1
4456+
let trivia: SynExprYieldOrReturnFromTrivia = { YieldOrReturnFromKeyword = rhs parseState 1 }
4457+
SynExpr.YieldOrReturnFrom(($1, not $1), arbExpr ("yield!", mYieldAll), mYieldAll, trivia) }
4458+
44494459
| YIELD_BANG declExpr COLON typ
44504460
{ let trivia: SynExprYieldOrReturnFromTrivia = { YieldOrReturnFromKeyword = rhs parseState 1 }
44514461
let typedExpr = SynExpr.Typed($2, $4, unionRanges $2.Range $4.Range)
@@ -4461,20 +4471,6 @@ declExpr:
44614471
SynExpr.Typed($2, ty, unionRanges $2.Range m)
44624472
SynExpr.YieldOrReturnFrom(($1, not $1), expr, (unionRanges (rhs parseState 1) $2.Range), trivia) }
44634473

4464-
| YIELD_BANG declExpr
4465-
{ let trivia: SynExprYieldOrReturnFromTrivia = { YieldOrReturnFromKeyword = rhs parseState 1 }
4466-
SynExpr.YieldOrReturnFrom(($1, not $1), $2, (unionRanges (rhs parseState 1) $2.Range), trivia) }
4467-
4468-
| YIELD recover
4469-
{ let mYieldAll = rhs parseState 1
4470-
let trivia: SynExprYieldOrReturnTrivia = { YieldOrReturnKeyword = rhs parseState 1 }
4471-
SynExpr.YieldOrReturn(($1, not $1), arbExpr ("yield", mYieldAll), mYieldAll, trivia) }
4472-
4473-
| YIELD_BANG recover
4474-
{ let mYieldAll = rhs parseState 1
4475-
let trivia: SynExprYieldOrReturnFromTrivia = { YieldOrReturnFromKeyword = rhs parseState 1 }
4476-
SynExpr.YieldOrReturnFrom(($1, not $1), arbExpr ("yield!", mYieldAll), mYieldAll, trivia) }
4477-
44784474
| BINDER headBindingPattern EQUALS typedSequentialExprBlock IN opt_OBLOCKSEP moreBinders typedSequentialExprBlock %prec expr_let
44794475
{ (* This rule handles the 'use!' and 'let!' binding expressions in computation expressions *)
44804476
(* The BINDER token represents keywords like 'use!' or 'let!' *)

0 commit comments

Comments
 (0)