Skip to content

Commit 6a8d292

Browse files
authored
Merge pull request #32440 from rintaro/ide-completion-platform-rdar64379019
[CodeCompletion] Suggest 'macOS' instead of 'OSX'
2 parents a332156 + d4da603 commit 6a8d292

File tree

3 files changed

+23
-7
lines changed

3 files changed

+23
-7
lines changed

lib/IDE/CodeCompletion.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4430,9 +4430,17 @@ class CompletionLookup final : public swift::VisibleDeclConsumer {
44304430
if (AttrKind == DAK_Available) {
44314431
if (ParamIndex == 0) {
44324432
addDeclAttrParamKeyword("*", "Platform", false);
4433+
4434+
// For code completion, suggest 'macOS' instead of 'OSX'.
44334435
#define AVAILABILITY_PLATFORM(X, PrettyName) \
4436+
if (StringRef(#X) == "OSX") \
4437+
addDeclAttrParamKeyword("macOS", "Platform", false); \
4438+
else if (StringRef(#X) == "OSXApplicationExtension") \
4439+
addDeclAttrParamKeyword("macOSApplicationExtension", "Platform", false); \
4440+
else \
44344441
addDeclAttrParamKeyword(#X, "Platform", false);
44354442
#include "swift/AST/PlatformKinds.def"
4443+
44364444
} else {
44374445
addDeclAttrParamKeyword("unavailable", "", false);
44384446
addDeclAttrParamKeyword("message", "Specify message", true);

test/IDE/complete_decl_attribute.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,11 @@ struct MyStruct {}
3232
// AVAILABILITY1-NEXT: Keyword/None: iOS[#Platform#]; name=iOS{{$}}
3333
// AVAILABILITY1-NEXT: Keyword/None: tvOS[#Platform#]; name=tvOS{{$}}
3434
// AVAILABILITY1-NEXT: Keyword/None: watchOS[#Platform#]; name=watchOS{{$}}
35-
// AVAILABILITY1-NEXT: Keyword/None: OSX[#Platform#]; name=OSX{{$}}
35+
// AVAILABILITY1-NEXT: Keyword/None: macOS[#Platform#]; name=macOS{{$}}
3636
// AVAILABILITY1-NEXT: Keyword/None: iOSApplicationExtension[#Platform#]; name=iOSApplicationExtension{{$}}
3737
// AVAILABILITY1-NEXT: Keyword/None: tvOSApplicationExtension[#Platform#]; name=tvOSApplicationExtension{{$}}
3838
// AVAILABILITY1-NEXT: Keyword/None: watchOSApplicationExtension[#Platform#]; name=watchOSApplicationExtension{{$}}
39-
// AVAILABILITY1-NEXT: Keyword/None: OSXApplicationExtension[#Platform#]; name=OSXApplicationExtension{{$}}
39+
// AVAILABILITY1-NEXT: Keyword/None: macOSApplicationExtension[#Platform#]; name=macOSApplicationExtension{{$}}
4040
// AVAILABILITY1-NEXT: Keyword/None: macCatalyst[#Platform#]; name=macCatalyst
4141
// AVAILABILITY1-NEXT: Keyword/None: macCatalystApplicationExtension[#Platform#]; name=macCatalystApplicationExtension
4242
// AVAILABILITY1-NEXT: End completions

test/IDE/complete_pound_statement.swift

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,19 @@
1818
{
1919
#available(iOS >= 7.0, #^PLATFORM4^#
2020
}
21-
// PLATFORM1: Keyword/None: *[#Platform#]; name=*{{$}}
22-
// PLATFORM1: Keyword/None: iOS[#Platform#]; name=iOS{{$}}
23-
// PLATFORM1: Keyword/None: tvOS[#Platform#]; name=tvOS{{$}}
24-
// PLATFORM1: Keyword/None: watchOS[#Platform#]; name=watchOS{{$}}
25-
// PLATFORM1: Keyword/None: OSX[#Platform#]; name=OSX{{$}}
21+
// PLATFORM1: Begin completions
22+
// PLATFORM1-DAG: Keyword/None: *[#Platform#]; name=*{{$}}
23+
// PLATFORM1-DAG: Keyword/None: iOS[#Platform#]; name=iOS{{$}}
24+
// PLATFORM1-DAG: Keyword/None: tvOS[#Platform#]; name=tvOS{{$}}
25+
// PLATFORM1-DAG: Keyword/None: watchOS[#Platform#]; name=watchOS{{$}}
26+
// PLATFORM1-DAG: Keyword/None: macOS[#Platform#]; name=macOS{{$}}
27+
// PLATFORM1-DAG: Keyword/None: iOSApplicationExtension[#Platform#]; name=iOSApplicationExtension{{$}}
28+
// PLATFORM1-DAG: Keyword/None: tvOSApplicationExtension[#Platform#]; name=tvOSApplicationExtension{{$}}
29+
// PLATFORM1-DAG: Keyword/None: watchOSApplicationExtension[#Platform#]; name=watchOSApplicationExtension{{$}}
30+
// PLATFORM1-DAG: Keyword/None: macOSApplicationExtension[#Platform#]; name=macOSApplicationExtension{{$}}
31+
// PLATFORM1-DAG: Keyword/None: macCatalyst[#Platform#]; name=macCatalyst
32+
// PLATFORM1-DAG: Keyword/None: macCatalystApplicationExtension[#Platform#]; name=macCatalystApplicationExtension
33+
// PLATFORM1: End completions
2634

2735
class C1 {
2836
func foo() {

0 commit comments

Comments
 (0)