9
9
// RUN: %target-swift-ide-test -code-completion -source-filename %s -code-completion-token=ON_INIT | %FileCheck %s -check-prefix=ON_INIT
10
10
// RUN: %target-swift-ide-test -code-completion -source-filename %s -code-completion-token=ON_PROPERTY | %FileCheck %s -check-prefix=ON_PROPERTY
11
11
// RUN: %target-swift-ide-test -code-completion -source-filename %s -code-completion-token=ON_METHOD | %FileCheck %s -check-prefix=ON_METHOD
12
- // RUN: %target-swift-ide-test -code-completion -source-filename %s -code-completion-token=ON_PARAM | %FileCheck %s -check-prefix=ON_PARAM
12
+ // RUN: %target-swift-ide-test -code-completion -source-filename %s -code-completion-token=ON_PARAM_1 | %FileCheck %s -check-prefix=ON_PARAM
13
+ // RUN: %target-swift-ide-test -code-completion -source-filename %s -code-completion-token=ON_PARAM_2 | %FileCheck %s -check-prefix=ON_PARAM
14
+ // RUN: %target-swift-ide-test -code-completion -source-filename %s -code-completion-token=ON_MEMBER_INDEPENDENT_1 | %FileCheck %s -check-prefix=ON_MEMBER_LAST
15
+ // RUN: %target-swift-ide-test -code-completion -source-filename %s -code-completion-token=ON_MEMBER_INDEPENDENT_2 | %FileCheck %s -check-prefix=ON_MEMBER_LAST
13
16
// RUN: %target-swift-ide-test -code-completion -source-filename %s -code-completion-token=ON_MEMBER_LAST | %FileCheck %s -check-prefix=ON_MEMBER_LAST
17
+ // RUN: %target-swift-ide-test -code-completion -source-filename %s -code-completion-token=KEYWORD_INDEPENDENT_1 | %FileCheck %s -check-prefix=KEYWORD_LAST
18
+ // RUN: %target-swift-ide-test -code-completion -source-filename %s -code-completion-token=KEYWORD_INDEPENDENT_2 | %FileCheck %s -check-prefix=KEYWORD_LAST
14
19
// RUN: %target-swift-ide-test -code-completion -source-filename %s -code-completion-token=KEYWORD_LAST | %FileCheck %s -check-prefix=KEYWORD_LAST
15
20
16
21
struct MyStruct { }
@@ -44,8 +49,7 @@ struct MyStruct {}
44
49
// AVAILABILITY2-NEXT: Keyword/None: deprecated: [#Specify version number#]; name=deprecated{{$}}
45
50
// AVAILABILITY2-NEXT: End completions
46
51
47
- @#^KEYWORD2 ^#
48
- func method( ) { }
52
+ @#^KEYWORD2 ^# func method( ) { }
49
53
50
54
// KEYWORD2: Begin completions
51
55
// KEYWORD2-NEXT: Keyword/None: available[#Func Attribute#]; name=available{{$}}
@@ -63,8 +67,7 @@ func method(){}
63
67
// KEYWORD2: Decl[Struct]/CurrModule: MyStruct[#MyStruct#]; name=MyStruct
64
68
// KEYWORD2: End completions
65
69
66
- @#^KEYWORD3 ^#
67
- class C { }
70
+ @#^KEYWORD3 ^# class C { }
68
71
69
72
// KEYWORD3: Begin completions
70
73
// KEYWORD3-NEXT: Keyword/None: available[#Class Attribute#]; name=available{{$}}
@@ -81,12 +84,10 @@ class C {}
81
84
// KEYWORD3-NEXT: Keyword/None: _functionBuilder[#Class Attribute#]; name=_functionBuilder
82
85
// KEYWORD3-NEXT: End completions
83
86
84
- @#^KEYWORD3_2 ^#IB
85
- class C2 { }
87
+ @#^KEYWORD3_2 ^#IB class C2 { }
86
88
// Same as KEYWORD3.
87
89
88
- @#^KEYWORD4 ^#
89
- enum E { }
90
+ @#^KEYWORD4 ^# enum E { }
90
91
// KEYWORD4: Begin completions
91
92
// KEYWORD4-NEXT: Keyword/None: available[#Enum Attribute#]; name=available{{$}}
92
93
// KEYWORD4-NEXT: Keyword/None: objc[#Enum Attribute#]; name=objc{{$}}
@@ -98,8 +99,7 @@ enum E {}
98
99
// KEYWORD4-NEXT: End completions
99
100
100
101
101
- @#^KEYWORD5 ^#
102
- struct S { }
102
+ @#^KEYWORD5 ^# struct S { }
103
103
// KEYWORD5: Begin completions
104
104
// KEYWORD5-NEXT: Keyword/None: available[#Struct Attribute#]; name=available{{$}}
105
105
// KEYWORD5-NEXT: Keyword/None: dynamicCallable[#Struct Attribute#]; name=dynamicCallable
@@ -109,8 +109,7 @@ struct S{}
109
109
// KEYWORD5-NEXT: Keyword/None: _functionBuilder[#Struct Attribute#]; name=_functionBuilder
110
110
// KEYWORD5-NEXT: End completions
111
111
112
- @#^ON_GLOBALVAR^#
113
- var globalVar
112
+ @#^ON_GLOBALVAR^# var globalVar
114
113
// ON_GLOBALVAR: Begin completions
115
114
// ON_GLOBALVAR-DAG: Keyword/None: available[#Var Attribute#]; name=available
116
115
// ON_GLOBALVAR-DAG: Keyword/None: objc[#Var Attribute#]; name=objc
@@ -128,8 +127,7 @@ var globalVar
128
127
// ON_GLOBALVAR: End completions
129
128
130
129
struct _S {
131
- @#^ON_INIT^#
132
- init ( )
130
+ @#^ON_INIT^# init( )
133
131
// ON_INIT: Begin completions
134
132
// ON_INIT-DAG: Keyword/None: available[#Constructor Attribute#]; name=available
135
133
// ON_INIT-DAG: Keyword/None: objc[#Constructor Attribute#]; name=objc
@@ -140,8 +138,7 @@ struct _S {
140
138
// ON_INIT-DAG: Keyword/None: discardableResult[#Constructor Attribute#]; name=discardableResult
141
139
// ON_INIT: End completions
142
140
143
- @#^ON_PROPERTY^#
144
- var foo
141
+ @#^ON_PROPERTY^# var foo
145
142
// ON_PROPERTY: Begin completions
146
143
// ON_PROPERTY-DAG: Keyword/None: available[#Var Attribute#]; name=available
147
144
// ON_PROPERTY-DAG: Keyword/None: objc[#Var Attribute#]; name=objc
@@ -159,7 +156,7 @@ struct _S {
159
156
// ON_PROPERTY-NOT: Decl[PrecedenceGroup]
160
157
// ON_PROPERTY: End completions
161
158
162
- @#^ON_METHOD^#
159
+ @#^ON_METHOD^# private
163
160
func foo( )
164
161
// ON_METHOD: Begin completions
165
162
// ON_METHOD-DAG: Keyword/None: available[#Func Attribute#]; name=available
@@ -177,13 +174,30 @@ struct _S {
177
174
// ON_METHOD: Decl[Struct]/CurrModule: MyStruct[#MyStruct#]; name=MyStruct
178
175
// ON_METHOD: End completions
179
176
180
- func bar( @#^ON_PARAM ^#)
177
+ func bar( @#^ON_PARAM_ 1 ^#)
181
178
// ON_PARAM: Begin completions
182
179
// ON_PARAM-NOT: Keyword
183
180
// ON_PARAM: Decl[Struct]/CurrModule: MyStruct[#MyStruct#]; name=MyStruct
184
181
// ON_PARAM-NOT: Keyword
185
182
// ON_PARAM: End completions
186
183
184
+ func bar(
185
+ @#^ON_PARAM_2 ^#
186
+
187
+ arg: Int
188
+ )
189
+ // Same as ON_PARAM.
190
+
191
+ @#^ON_MEMBER_INDEPENDENT_1 ^#
192
+
193
+ func dummy1( ) { }
194
+ // Same as ON_MEMBER_LAST.
195
+
196
+ @#^ON_MEMBER_INDEPENDENT_2 ^#
197
+ func dummy2( ) { }
198
+ // Same as ON_MEMBER_LAST.
199
+
200
+
187
201
@#^ON_MEMBER_LAST^#
188
202
// ON_MEMBER_LAST: Begin completions
189
203
// ON_MEMBER_LAST-DAG: Keyword/None: available[#Declaration Attribute#]; name=available
@@ -216,6 +230,15 @@ struct _S {
216
230
// ON_MEMBER_LAST: End completions
217
231
}
218
232
233
+ @#^KEYWORD_INDEPENDENT_1 ^#
234
+
235
+ func dummy1( ) { }
236
+ // Same as KEYWORD_LAST.
237
+
238
+ @#^KEYWORD_INDEPENDENT_2 ^#
239
+ func dummy2( ) { }
240
+ // Same as KEYWORD_LAST.
241
+
219
242
@#^KEYWORD_LAST^#
220
243
221
244
// KEYWORD_LAST: Begin completions
0 commit comments