Skip to content

Commit 44dfba8

Browse files
committed
Parse: Reinterpret associativity kinds as contextual keywords
1 parent bf909ca commit 44dfba8

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

lib/Parse/ParseDecl.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6895,6 +6895,10 @@ Parser::parseDeclPrecedenceGroup(ParseDeclOptions flags,
68956895
diagnose(Tok, diag::expected_precedencegroup_associativity);
68966896
parsedAssociativity = Associativity::None;
68976897
invalid = true;
6898+
} else {
6899+
// "left", "right" or "none" are considered contextual keywords.
6900+
TokReceiver->registerTokenKindChange(Tok.getLoc(),
6901+
tok::contextual_keyword);
68986902
}
68996903
associativity = *parsedAssociativity;
69006904
associativityValueLoc = consumeToken();

test/IDE/coloring.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ protocol Prot {
165165
infix operator *-* : FunnyPrecedence
166166

167167
// CHECK: <kw>precedencegroup</kw> FunnyPrecedence
168-
// CHECK-NEXT: <kw>associativity</kw>: left{{$}}
168+
// CHECK-NEXT: <kw>associativity</kw>: <kw>left</kw>{{$}}
169169
// CHECK-NEXT: <kw>higherThan</kw>: MultiplicationPrecedence
170170
precedencegroup FunnyPrecedence {
171171
associativity: left

0 commit comments

Comments
 (0)