Skip to content

Commit 332d770

Browse files
committed
IDE: Stop requiring availability platforms to be classified as keywords.
1 parent 3806913 commit 332d770

File tree

6 files changed

+11
-16
lines changed

6 files changed

+11
-16
lines changed

lib/IDE/SyntaxModel.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1170,8 +1170,6 @@ bool ModelASTWalker::handleSpecialDeclAttribute(const DeclAttribute *D,
11701170
assert(Next.Range.getStart() == D->getRange().Start &&
11711171
"Attribute's TokenNodes already consumed?");
11721172
}
1173-
} else {
1174-
assert(0 && "No TokenNodes?");
11751173
}
11761174
if (!passTokenNodesUntil(D->getRange().End,
11771175
IncludeNodeAtLocation).shouldContinue)

lib/Parse/ParseExpr.cpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3782,9 +3782,6 @@ ParserResult<AvailabilitySpec> Parser::parsePlatformVersionConstraintSpec() {
37823782
Context, PlatformIdentifier, PlatformLoc, Version, VersionRange));
37833783
}
37843784

3785-
// Register the platform name as a keyword token.
3786-
TokReceiver->registerTokenKindChange(PlatformLoc, tok::contextual_keyword);
3787-
37883785
return makeParserResult(AvailabilitySpec::createForDomain(
37893786
Context, AvailabilityDomain::forPlatform(Platform.value()), PlatformLoc,
37903787
Version, VersionRange));

test/IDE/coloring.swift

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -510,21 +510,21 @@ func typeAttr3(a: @ escaping () -> Int) {}
510510
// CHECK: <kw>func</kw> typeAttr2(a: @ <comment-block>/*this is fine...*/</comment-block> escaping () -> <type>Int</type>, b: <attr-builtin>@ escaping</attr-builtin> () -> <type>Int</type>) {}
511511
func typeAttr2(a: @ /*this is fine...*/ escaping () -> Int, b: @ escaping () -> Int) {}
512512

513-
// CHECK: <attr-builtin>@available</attr-builtin>(<kw>iOS</kw> <int>99</int>, *)
513+
// CHECK: <attr-builtin>@available</attr-builtin>(iOS <int>99</int>, *)
514514
// CHECK: <kw>var</kw> iHave = <int>10</int>, multipleVars = <int>20</int>
515515
@available(iOS 99, *)
516516
var iHave = 10, multipleVars = 20
517517

518518
enum MultipleCaseElements {
519-
// CHECK: <attr-builtin>@available</attr-builtin>(<kw>iOS</kw> <int>99</int>, *)
519+
// CHECK: <attr-builtin>@available</attr-builtin>(iOS <int>99</int>, *)
520520
// CHECK: <kw>case</kw> foo, bar
521521
@available(iOS 99, *)
522522
case foo, bar
523523
}
524524

525525
protocol P {}
526526
enum E {
527-
// CHECK: <attr-builtin>@available</attr-builtin>(<kw>iOS</kw> <int>99</int>, *)
527+
// CHECK: <attr-builtin>@available</attr-builtin>(iOS <int>99</int>, *)
528528
// CHECK: <kw>case</kw> a(<type>P</type>)
529529
@available(iOS 99, *)
530530
case a(P)
@@ -533,7 +533,7 @@ enum E {
533533
// Ideally this would be attr-builtin, but we don't actually have the attribute
534534
// in the AST at all.
535535
//
536-
// CHECK: <attr-id>@available</attr-id>(<kw>iOS</kw> <int>99</int>, *)
536+
// CHECK: <attr-id>@available</attr-id>(iOS <int>99</int>, *)
537537
// CHECK: <kw>var</kw> <kw>_</kw> = <int>10</int>
538538
@available(iOS 99, *)
539539
var _ = 10
@@ -558,6 +558,6 @@ struct FreeWhere<T> {
558558
}
559559

560560
// Renamed attribute ('fixed' to @available by the parser after emitting an error, so not treated as a custom attribute)
561-
// CHECK: @availability(<kw>macOS</kw> <float>10.11</float>, *)
561+
// CHECK: @availability(macOS <float>10.11</float>, *)
562562
@availability(macOS 10.11, *)
563563
class HasMisspelledAttr {}

test/IDE/coloring_configs.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -331,22 +331,22 @@ class NestedPoundIf {
331331
#line 17 "abc.swift"
332332

333333
@available(iOS 8.0, OSX 10.10, *)
334-
// CHECK: <attr-builtin>@available</attr-builtin>(<kw>iOS</kw> <float>8.0</float>, <kw>OSX</kw> <float>10.10</float>, *)
334+
// CHECK: <attr-builtin>@available</attr-builtin>(iOS <float>8.0</float>, OSX <float>10.10</float>, *)
335335
func foo() {
336-
// CHECK: <kw>if</kw> <kw>#available</kw> (<kw>OSX</kw> <float>10.10</float>, <kw>iOS</kw> <float>8.01</float>, *) {<kw>let</kw> <kw>_</kw> = <str>"iOS"</str>}
336+
// CHECK: <kw>if</kw> <kw>#available</kw> (OSX <float>10.10</float>, iOS <float>8.01</float>, *) {<kw>let</kw> <kw>_</kw> = <str>"iOS"</str>}
337337
if #available (OSX 10.10, iOS 8.01, *) {let _ = "iOS"}
338338
}
339339

340340
class AvailableWithOverride {
341-
// CHECK: <attr-builtin>@available</attr-builtin>(<kw>iOS</kw> <float>8.01</float>, <kw>OSX</kw> <float>10.10</float>, *)
341+
// CHECK: <attr-builtin>@available</attr-builtin>(iOS <float>8.01</float>, OSX <float>10.10</float>, *)
342342
@available(iOS 8.01, OSX 10.10, *)
343343
// CHECK: <attr-builtin>public</attr-builtin> <attr-builtin>override</attr-builtin> <kw>var</kw> multiple: <type>Int</type> { <kw>return</kw> <int>24</int> }
344344
public override var multiple: Int { return 24 }
345345
}
346346

347347
// CHECK: <kw>func</kw> test4(<kw>inout</kw> a: <type>Int</type>) {{{$}}
348348
func test4(inout a: Int) {
349-
// CHECK-OLD: <kw>if</kw> <kw>#available</kw> (<kw>OSX</kw> >= <float>10.10</float>, <kw>iOS</kw> >= <float>8.01</float>) {<kw>let</kw> OSX = <str>"iOS"</str>}}{{$}}
349+
// CHECK-OLD: <kw>if</kw> <kw>#available</kw> (OSX >= <float>10.10</float>, iOS >= <float>8.01</float>) {<kw>let</kw> OSX = <str>"iOS"</str>}}{{$}}
350350
// CHECK-NEW: <kw>if</kw> <kw>#available</kw> (OSX >= <float>10.10</float>, iOS >= <float>8.01</float>) {<kw>let</kw> OSX = <str>"iOS"</str>}}{{$}}
351351
if #available (OSX >= 10.10, iOS >= 8.01) {let OSX = "iOS"}}
352352

test/SourceKit/InterfaceGen/gen_clang_module.swift.response

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3291,7 +3291,7 @@ public class FooOverlayClassDerived : Foo.FooOverlayClassBase {
32913291
key.length: 10
32923292
},
32933293
{
3294-
key.kind: source.lang.swift.syntaxtype.keyword,
3294+
key.kind: source.lang.swift.syntaxtype.identifier,
32953295
key.offset: 6018,
32963296
key.length: 5
32973297
},

test/SourceKit/SyntaxMapData/syntaxmap-pound-keyword.swift.response

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@
8484
key.length: 10
8585
},
8686
{
87-
key.kind: source.lang.swift.syntaxtype.keyword,
87+
key.kind: source.lang.swift.syntaxtype.identifier,
8888
key.offset: 191,
8989
key.length: 3
9090
},

0 commit comments

Comments
 (0)