[libSyntax] Fix parsing for KeyPath

This commit is contained in:
Alex Hoppen
2018-04-23 12:05:00 -07:00
parent 28973f23b6
commit 94b8a3545b
4 changed files with 22 additions and 11 deletions

View File

@@ -3131,12 +3131,9 @@ ParserStatus Parser::parseDeclItem(bool &PreviousHadSemi,
ParserResult<Decl> Result;
SyntaxParsingContext DeclContext(SyntaxContext,
SyntaxKind::MemberDeclListItem);
{
SyntaxParsingContext DeclContext(SyntaxContext, SyntaxContextKind::Decl);
Result = parseDecl(Options, handler);
if (Result.isParseError())
skipUntilDeclRBrace(tok::semi, tok::pound_endif);
}
Result = parseDecl(Options, handler);
if (Result.isParseError())
skipUntilDeclRBrace(tok::semi, tok::pound_endif);
SourceLoc SemiLoc;
PreviousHadSemi = consumeIf(tok::semi, SemiLoc);
if (PreviousHadSemi && Result.isNonNull())