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