Skip to content

Commit d2fb092

Browse files
Merge pull request #61389 from CodaFi/do-you-yield
Fixup Yield Syntax Representation
2 parents 1a79d93 + e456780 commit d2fb092

File tree

3 files changed

+5
-3
lines changed

3 files changed

+5
-3
lines changed

lib/Parse/ParseStmt.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -844,7 +844,7 @@ ParserResult<Stmt> Parser::parseStmtYield(SourceLoc tryLoc) {
844844

845845
SmallVector<ExprListElt, 4> yieldElts;
846846
status = parseExprList(tok::l_paren, tok::r_paren, /*isArgumentList*/ false,
847-
lpLoc, yieldElts, rpLoc, SyntaxKind::ExprList);
847+
lpLoc, yieldElts, rpLoc, SyntaxKind::YieldExprList);
848848
for (auto &elt : yieldElts) {
849849
// We don't accept labels in a list of yields.
850850
if (elt.LabelLoc.isValid()) {

lib/Parse/Parser.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1043,6 +1043,8 @@ static SyntaxKind getListElementKind(SyntaxKind ListKind) {
10431043
return SyntaxKind::TuplePatternElement;
10441044
case SyntaxKind::AvailabilitySpecList:
10451045
return SyntaxKind::AvailabilityArgument;
1046+
case SyntaxKind::YieldExprList:
1047+
return SyntaxKind::YieldExprListElement;
10461048
default:
10471049
return SyntaxKind::Unknown;
10481050
}

test/Syntax/Outputs/round_trip_parse_gen.swift.withkinds

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -557,11 +557,11 @@ struct S <TypeInheritanceClause>: <InheritedType><SimpleTypeIdentifier>Q</Simple
557557
struct ReadModify <MemberDeclBlock>{<MemberDeclListItem><VariableDecl>
558558
var <PatternBinding><IdentifierPattern>st0 </IdentifierPattern><InitializerClause>= <TupleExpr>(<TupleExprElement><StringLiteralExpr>"<StringSegment>a</StringSegment>"</StringLiteralExpr>, </TupleExprElement><TupleExprElement><StringLiteralExpr>"<StringSegment>b</StringSegment>"</StringLiteralExpr></TupleExprElement>)</TupleExpr></InitializerClause></PatternBinding></VariableDecl></MemberDeclListItem><MemberDeclListItem><VariableDecl>
559559
var <PatternBinding><IdentifierPattern>rm0</IdentifierPattern><TypeAnnotation>: <TupleType>(<TupleTypeElement><SimpleTypeIdentifier>String</SimpleTypeIdentifier>, </TupleTypeElement><TupleTypeElement><SimpleTypeIdentifier>String</SimpleTypeIdentifier></TupleTypeElement>) </TupleType></TypeAnnotation><AccessorBlock>{<AccessorDecl>
560-
_read <CodeBlock>{ <YieldStmt>yield <YieldList>(<TupleExpr>(<TupleExprElement><StringLiteralExpr>"<StringSegment>a</StringSegment>"</StringLiteralExpr>, </TupleExprElement><TupleExprElement><StringLiteralExpr>"<StringSegment>b</StringSegment>"</StringLiteralExpr></TupleExprElement>)</TupleExpr>) </YieldList></YieldStmt>}</CodeBlock></AccessorDecl><AccessorDecl>
560+
_read <CodeBlock>{ <YieldStmt>yield <YieldList>(<YieldExprListElement><TupleExpr>(<TupleExprElement><StringLiteralExpr>"<StringSegment>a</StringSegment>"</StringLiteralExpr>, </TupleExprElement><TupleExprElement><StringLiteralExpr>"<StringSegment>b</StringSegment>"</StringLiteralExpr></TupleExprElement>)</TupleExpr></YieldExprListElement>) </YieldList></YieldStmt>}</CodeBlock></AccessorDecl><AccessorDecl>
561561
_modify <CodeBlock>{ <YieldStmt>yield <InOutExpr>&<IdentifierExpr>st0 </IdentifierExpr></InOutExpr></YieldStmt>}</CodeBlock></AccessorDecl>
562562
}</AccessorBlock></PatternBinding></VariableDecl></MemberDeclListItem><MemberDeclListItem><VariableDecl>
563563
var <PatternBinding><IdentifierPattern>rm1</IdentifierPattern><TypeAnnotation>: <TupleType>(<TupleTypeElement><SimpleTypeIdentifier>String</SimpleTypeIdentifier>, </TupleTypeElement><TupleTypeElement><SimpleTypeIdentifier>String</SimpleTypeIdentifier></TupleTypeElement>) </TupleType></TypeAnnotation><AccessorBlock>{<AccessorDecl>
564-
_read <CodeBlock>{ <YieldStmt>yield <YieldList>(<IdentifierExpr>st0</IdentifierExpr>) </YieldList></YieldStmt>}</CodeBlock></AccessorDecl>
564+
_read <CodeBlock>{ <YieldStmt>yield <YieldList>(<YieldExprListElement><IdentifierExpr>st0</IdentifierExpr></YieldExprListElement>) </YieldList></YieldStmt>}</CodeBlock></AccessorDecl>
565565
}</AccessorBlock></PatternBinding></VariableDecl></MemberDeclListItem>
566566
}</MemberDeclBlock></StructDecl><StructDecl><CustomAttribute>
567567

0 commit comments

Comments
 (0)