1
1
// RUN: %target-swift-ide-test -code-completion -source-filename %s -code-completion-token=IN_CLOSURE_TOP | %FileCheck %s -check-prefix=IN_CLOSURE_TOP
2
2
// RUN: %target-swift-ide-test -code-completion -source-filename %s -code-completion-token=IN_CLOSURE_NONTOP | %FileCheck %s -check-prefix=IN_CLOSURE_TOP
3
- // RUN: %target-swift-ide-test -code-completion -source-filename %s -disable-function-builder-one-way-constraints -code-completion-token=IN_CLOSURE_COLOR_CONTEXT | %FileCheck %s -check-prefix=IN_CLOSURE_COLOR_CONTEXT
4
- // RUN: %target-swift-ide-test -code-completion -source-filename %s -disable-function-builder-one-way-constraints -code-completion-token=IN_CLOSURE_COLOR_CONTEXT_DOT | %FileCheck %s -check-prefix=IN_CLOSURE_COLOR_CONTEXT_DOT
5
-
6
- // RUN: %target-swift-ide-test -code-completion -source-filename %s -disable-function-builder-one-way-constraints -code-completion-token=CONTEXTUAL_TYPE_1 | %FileCheck %s -check-prefix=CONTEXTUAL_TYPE_VALID
7
- // RUN: %target-swift-ide-test -code-completion -source-filename %s -disable-function-builder-one-way-constraints -code-completion-token=CONTEXTUAL_TYPE_2 | %FileCheck %s -check-prefix=CONTEXTUAL_TYPE_VALID
8
- // RUN: %target-swift-ide-test -code-completion -source-filename %s -disable-function-builder-one-way-constraints -code-completion-token=CONTEXTUAL_TYPE_3 | %FileCheck %s -check-prefix=CONTEXTUAL_TYPE_VALID
9
- // RUN: %target-swift-ide-test -code-completion -source-filename %s -disable-function-builder-one-way-constraints -code-completion-token=CONTEXTUAL_TYPE_4 | %FileCheck %s -check-prefix=CONTEXTUAL_TYPE_VALID
10
- // RUN: %target-swift-ide-test -code-completion -source-filename %s -disable-function-builder-one-way-constraints -code-completion-token=CONTEXTUAL_TYPE_5 | %FileCheck %s -check-prefix=CONTEXTUAL_TYPE_INVALID
3
+ // RUN: %target-swift-ide-test -code-completion -source-filename %s -code-completion-token=IN_CLOSURE_COLOR_CONTEXT | %FileCheck %s -check-prefix=IN_CLOSURE_COLOR_CONTEXT
11
4
12
5
struct Tagged < Tag, Entity> {
13
6
let tag : Tag
@@ -80,23 +73,12 @@ func testAcceptColorTagged(paramIntVal: Int, paramStringVal: String) {
80
73
acceptColorTagged { color in
81
74
paramIntVal. tag ( #^IN_CLOSURE_COLOR_CONTEXT^#)
82
75
// IN_CLOSURE_COLOR_CONTEXT: Begin completions
83
- // IN_CLOSURE_COLOR_CONTEXT-DAG: Decl[InstanceMethod]/CurrNominal: ['(']{#(tag): Color#}[')'][#Tagged<Color, Int>#]; name=tag: Color
84
- // IN_CLOSURE_COLOR_CONTEXT-DAG: Decl[LocalVar]/Local/TypeRelation[Identical]: color[#Color#]; name=color
76
+ // IN_CLOSURE_COLOR_CONTEXT-DAG: Decl[LocalVar]/Local: color; name=color
85
77
// IN_CLOSURE_COLOR_CONTEXT-DAG: Decl[LocalVar]/Local: taggedValue[#Tagged<Color, Int>#]; name=taggedValue
86
78
// IN_CLOSURE_COLOR_CONTEXT-DAG: Decl[LocalVar]/Local: paramIntVal[#Int#]; name=paramIntVal
87
79
// IN_CLOSURE_COLOR_CONTEXT-DAG: Decl[LocalVar]/Local: paramStringVal[#String#]; name=paramStringVal
88
- // IN_CLOSURE_COLOR_CONTEXT-DAG: Decl[Enum]/CurrModule/TypeRelation[Identical]: Color[#Color#]; name=Color
89
80
// IN_CLOSURE_COLOR_CONTEXT: End completions
90
81
}
91
-
92
- acceptColorTagged { color in
93
- paramIntVal. tag ( . #^IN_CLOSURE_COLOR_CONTEXT_DOT^#)
94
- // IN_CLOSURE_COLOR_CONTEXT_DOT: Begin completions, 3 items
95
- // IN_CLOSURE_COLOR_CONTEXT_DOT-DAG: Decl[EnumElement]/ExprSpecific: red[#Color#]; name=red
96
- // IN_CLOSURE_COLOR_CONTEXT_DOT-DAG: Decl[EnumElement]/ExprSpecific: green[#Color#]; name=green
97
- // IN_CLOSURE_COLOR_CONTEXT_DOT-DAG: Decl[EnumElement]/ExprSpecific: blue[#Color#]; name=blue
98
- // IN_CLOSURE_COLOR_CONTEXT_DOT: End completions
99
- }
100
82
}
101
83
102
84
enum MyEnum {
@@ -111,38 +93,3 @@ struct EnumToVoidBuilder {
111
93
static func buildBlock( _ : MyEnum , _: MyEnum , _: MyEnum ) { }
112
94
}
113
95
func acceptBuilder( @EnumToVoidBuilder body: ( ) -> Void ) { }
114
-
115
- // CONTEXTUAL_TYPE_INVALID-NOT: Begin completions
116
-
117
- // CONTEXTUAL_TYPE_VALID: Begin completions, 4 items
118
- // CONTEXTUAL_TYPE_VALID-DAG: Decl[EnumElement]/ExprSpecific: east[#MyEnum#]; name=east
119
- // CONTEXTUAL_TYPE_VALID-DAG: Decl[EnumElement]/ExprSpecific: west[#MyEnum#]; name=west
120
- // CONTEXTUAL_TYPE_VALID-DAG: Decl[EnumElement]/ExprSpecific: north[#MyEnum#]; name=north
121
- // CONTEXTUAL_TYPE_VALID-DAG: Decl[EnumElement]/ExprSpecific: south[#MyEnum#]; name=south
122
- // CONTEXTUAL_TYPE_VALID: End completions
123
-
124
- func testContextualType( ) {
125
- acceptBuilder {
126
- . #^CONTEXTUAL_TYPE_1 ^#
127
- }
128
- acceptBuilder {
129
- . #^CONTEXTUAL_TYPE_2 ^#;
130
- . north;
131
- }
132
- acceptBuilder {
133
- . north;
134
- . #^CONTEXTUAL_TYPE_3 ^#;
135
- }
136
- acceptBuilder {
137
- . north;
138
- . east;
139
- . #^CONTEXTUAL_TYPE_4 ^#
140
- }
141
- acceptBuilder {
142
- . north;
143
- . east;
144
- . south;
145
- // NOTE: Invalid because 'EnumToVoidBuilder' doesn't have 4 params overload.
146
- . #^CONTEXTUAL_TYPE_5 ^#
147
- }
148
- }
0 commit comments