Skip to content

Commit d82c6cb

Browse files
committedAug 6, 2020
[Syntax] Fix syntax tree creation for __await expressions.
1 parent 8da019c commit d82c6cb

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed
 

‎lib/Parse/ParseExpr.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -397,7 +397,7 @@ ParserResult<Expr> Parser::parseExprSequenceElement(Diag<> message,
397397
SourceLoc awaitLoc = consumeToken(tok::kw___await);
398398
ParserResult<Expr> sub = parseExprUnary(message, isExprBasic);
399399
if (!sub.hasCodeCompletion() && !sub.isNull()) {
400-
ElementContext.setCreateSyntax(SyntaxKind::TryExpr);
400+
ElementContext.setCreateSyntax(SyntaxKind::AwaitExpr);
401401
sub = makeParserResult(new (Context) AwaitExpr(awaitLoc, sub.get()));
402402
}
403403

‎test/Parse/async-syntax.swift

+4
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,7 @@ func testTypeExprs() {
1010
let _ = [() async -> ()]()
1111
let _ = [() async throws -> ()]()
1212
}
13+
14+
func testAwaitOperator() async {
15+
let _ = __await asyncGlobal1()
16+
}

0 commit comments

Comments
 (0)