7
7
8
8
// RUN: %batch-code-completion -filecheck-additional-suffix _DISABLED
9
9
// RUN: %batch-code-completion -filecheck-additional-suffix _ENABLED \
10
- // RUN: -enable-experimental-feature ABIAttribute
10
+ // RUN: -enable-experimental-feature ABIAttribute \
11
+ // RUN: -enable-experimental-feature ExecutionAttribute
11
12
12
13
// NOTE: Please do not include the ", N items" after "Begin completions". The
13
14
// item count creates needless merge conflicts given that an "End completions"
17
18
18
19
// KEYWORD2: Begin completions
19
20
// KEYWORD2_ENABLED-DAG: Keyword/None: abi[#Func Attribute#]; name=abi
21
+ // KEYWORD2_ENABLED-DAG: Keyword/None: execution[#Func Attribute#]; name=execution
20
22
// KEYWORD2_DISABLED-NOT: Keyword/None: abi[#{{.*}} Attribute#]; name=abi
23
+ // KEYWORD2_DISABLED-NOT: Keyword/None: execution[#{{.*}} Attribute#]; name=execution
21
24
// KEYWORD2: End completions
22
25
23
26
@#^KEYWORD3 ^# class C { }
24
27
25
28
// KEYWORD3: Begin completions
26
29
// KEYWORD3_ENABLED-NOT: Keyword/None: abi[#{{.*}} Attribute#]; name=abi
30
+ // KEYWORD3_ENABLED-NOT: Keyword/None: execution[#{{.*}} Attribute#]; name=execution
27
31
// KEYWORD3_DISABLED-NOT: Keyword/None: abi[#{{.*}} Attribute#]; name=abi
32
+ // KEYWORD3_DISABLED-NOT: Keyword/None: execution[#{{.*}} Attribute#]; name=execution
28
33
// KEYWORD3: End completions
29
34
30
35
@#^KEYWORD3_2 ? check= KEYWORD3^#IB class C2 { }
33
38
@#^KEYWORD4 ^# enum E { }
34
39
// KEYWORD4: Begin completions
35
40
// KEYWORD4_ENABLED-NOT: Keyword/None: abi[#{{.*}} Attribute#]; name=abi
41
+ // KEYWORD4_ENABLED-NOT: Keyword/None: execution[#{{.*}} Attribute#]; name=execution
36
42
// KEYWORD4_DISABLED-NOT: Keyword/None: abi[#{{.*}} Attribute#]; name=abi
43
+ // KEYWORD4_DISABLED-NOT: Keyword/None: execution[#{{.*}} Attribute#]; name=execution
37
44
// KEYWORD4: End completions
38
45
39
46
@#^KEYWORD5 ^# struct S { }
40
47
// KEYWORD5: Begin completions
41
48
// KEYWORD5_ENABLED-NOT: Keyword/None: abi[#{{.*}} Attribute#]; name=abi
49
+ // KEYWORD5_ENABLED-NOT: Keyword/None: execution[#{{.*}} Attribute#]; name=execution
42
50
// KEYWORD5_DISABLED-NOT: Keyword/None: abi[#{{.*}} Attribute#]; name=abi
51
+ // KEYWORD5_DISABLED-NOT: Keyword/None: execution[#{{.*}} Attribute#]; name=execution
43
52
// KEYWORD5: End completions
44
53
45
54
@#^ON_GLOBALVAR^# var globalVar
46
55
// ON_GLOBALVAR: Begin completions
47
56
// ON_GLOBALVAR_ENABLED-DAG: Keyword/None: abi[#Var Attribute#]; name=abi
57
+ // ON_GLOBALVAR_ENABLED-NOT: Keyword/None: execution[#{{.*}} Attribute#]; name=execution
48
58
// ON_GLOBALVAR_DISABLED-NOT: Keyword/None: abi[#{{.*}} Attribute#]; name=abi
59
+ // ON_GLOBALVAR_DISABLED-NOT: Keyword/None: execution[#{{.*}} Attribute#]; name=execution
49
60
// ON_GLOBALVAR: End completions
50
61
51
62
struct _S {
52
63
@#^ON_INIT^# init( )
53
64
// ON_INIT: Begin completions
54
65
// ON_INIT_ENABLED-DAG: Keyword/None: abi[#Constructor Attribute#]; name=abi
66
+ // ON_INIT_ENABLED-NOT: Keyword/None: execution[#{{.*}} Attribute#]; name=execution
55
67
// ON_INIT_DISABLED-NOT: Keyword/None: abi[#{{.*}} Attribute#]; name=abi
68
+ // ON_INIT_DISABLED-NOT: Keyword/None: execution[#{{.*}} Attribute#]; name=execution
56
69
// ON_INIT: End completions
57
70
58
71
@#^ON_PROPERTY^# var foo
59
72
// ON_PROPERTY: Begin completions
60
73
// ON_PROPERTY_ENABLED-DAG: Keyword/None: abi[#Var Attribute#]; name=abi
74
+ // ON_PROPERTY_ENABLED-NOT: Keyword/None: execution[#{{.*}} Attribute#]; name=execution
61
75
// ON_PROPERTY_DISABLED-NOT: Keyword/None: abi[#{{.*}} Attribute#]; name=abi
76
+ // ON_PROPERTY_DISABLED-NOT: Keyword/None: execution[#{{.*}} Attribute#]; name=execution
62
77
// ON_PROPERTY: End completions
63
78
64
79
@#^ON_METHOD^# private
65
80
func foo( )
66
81
// ON_METHOD: Begin completions
67
82
// ON_METHOD_ENABLED-DAG: Keyword/None: abi[#Func Attribute#]; name=abi
83
+ // ON_METHOD_ENABLED-DAG: Keyword/None: execution[#Func Attribute#]; name=execution
68
84
// ON_METHOD_DISABLED-NOT: Keyword/None: abi[#{{.*}} Attribute#]; name=abi
85
+ // ON_METHOD_DISABLED-NOT: Keyword/None: execution[#{{.*}} Attribute#]; name=execution
69
86
// ON_METHOD: End completions
70
87
71
88
72
89
func bar( @#^ON_PARAM_1 ? check= ON_PARAM^#)
73
90
// ON_PARAM: Begin completions
74
91
// ON_PARAM_ENABLED-NOT: Keyword/None: abi[#{{.*}} Attribute#]; name=abi
92
+ // ON_PARAM_ENABLED-NOT: Keyword/None: execution[#{{.*}} Attribute#]; name=execution
75
93
// ON_PARAM_DISABLED-NOT: Keyword/None: abi[#{{.*}} Attribute#]; name=abi
94
+ // ON_PARAM_DISABLED-NOT: Keyword/None: execution[#{{.*}} Attribute#]; name=execution
76
95
// ON_PARAM: End completions
77
96
78
97
func bar(
@@ -95,7 +114,9 @@ struct _S {
95
114
@#^ON_MEMBER_LAST^#
96
115
// ON_MEMBER_LAST: Begin completions
97
116
// ON_MEMBER_LAST_ENABLED-DAG: Keyword/None: abi[#Declaration Attribute#]; name=abi
117
+ // ON_MEMBER_LAST_ENABLED-DAG: Keyword/None: execution[#Declaration Attribute#]; name=execution
98
118
// ON_MEMBER_LAST_DISABLED-NOT: Keyword/None: abi[#{{.*}} Attribute#]; name=abi
119
+ // ON_MEMBER_LAST_DISABLED-NOT: Keyword/None: execution[#{{.*}} Attribute#]; name=execution
99
120
// ON_MEMBER_LAST: End completions
100
121
}
101
122
@@ -107,7 +128,9 @@ func takeClosure(_: () -> Void) {
107
128
// IN_CLOSURE: Begin completions
108
129
// FIXME: Not valid in this position (but CompletionLookup can't tell that)
109
130
// IN_CLOSURE_ENABLED-DAG: Keyword/None: abi[#Declaration Attribute#]; name=abi
131
+ // IN_CLOSURE_ENABLED-DAG: Keyword/None: execution[#Declaration Attribute#]; name=execution
110
132
// IN_CLOSURE_DISABLED-NOT: Keyword/None: abi[#{{.*}} Attribute#]; name=abi
133
+ // IN_CLOSURE_DISABLED-NOT: Keyword/None: execution[#{{.*}} Attribute#]; name=execution
111
134
// IN_CLOSURE: End completions
112
135
113
136
@#^KEYWORD_INDEPENDENT_1 ? check= KEYWORD_LAST^#
@@ -123,5 +146,7 @@ func dummy2() {}
123
146
124
147
// KEYWORD_LAST: Begin completions
125
148
// KEYWORD_LAST_ENABLED-DAG: Keyword/None: abi[#Declaration Attribute#]; name=abi
149
+ // KEYWORD_LAST_ENABLED-DAG: Keyword/None: execution[#Declaration Attribute#]; name=execution
126
150
// KEYWORD_LAST_DISABLED-NOT: Keyword/None: abi[#Declaration Attribute#]; name=abi
151
+ // KEYWORD_LAST_DISABLED-NOT: Keyword/None: execution[#Declaration Attribute#]; name=execution
127
152
// KEYWORD_LAST: End completions
0 commit comments