Skip to content

Commit 25f9b88

Browse files
committed
[CodeCompletion] Show the enum type for enum element with assoc values
enum MyEnum { case null case str(String) } When completing elements for enum like this, the former shows `MyEnum`, but the latter shows `(String) -> MyEnum`. This is inconsistent with function call pattern which only shows the result type. rdar://problem/48220244
1 parent 430a3bd commit 25f9b88

File tree

4 files changed

+56
-54
lines changed

4 files changed

+56
-54
lines changed

lib/IDE/CodeCompletion.cpp

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2667,17 +2667,19 @@ class CompletionLookup final : public swift::VisibleDeclConsumer {
26672667
Builder.addRightParen();
26682668
}
26692669

2670-
// Enum element is of function type such as EnumName.type -> Int ->
2671-
// EnumName; however we should show Int -> EnumName as the type
2672-
Type EnumType;
2673-
if (EED->hasInterfaceType()) {
2674-
EnumType = EED->getInterfaceType();
2675-
if (auto FuncType = EnumType->getAs<AnyFunctionType>()) {
2670+
if (!EED->hasInterfaceType())
2671+
return;
2672+
2673+
// Enum element is of function type; (Self.type) -> Self or
2674+
// (Self.Type) -> (Args...) -> Self. We should show only 'Self' part.
2675+
Type EnumType = EED->getInterfaceType();
2676+
if (auto FuncType = EnumType->getAs<AnyFunctionType>()) {
2677+
EnumType = FuncType->getResult();
2678+
if (auto FuncType = EnumType->getAs<FunctionType>())
26762679
EnumType = FuncType->getResult();
2677-
}
26782680
}
2679-
if (EnumType)
2680-
addTypeAnnotation(Builder, EnumType);
2681+
2682+
addTypeAnnotation(Builder, EnumType);
26812683
}
26822684

26832685
void addKeyword(StringRef Name, Type TypeAnnotation = Type(),

test/IDE/complete_enum_elements.swift

Lines changed: 38 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -149,32 +149,32 @@ enum BarEnum {
149149

150150
// BAR_ENUM_TYPE_CONTEXT: Begin completions
151151
// BAR_ENUM_TYPE_CONTEXT-DAG: Decl[EnumElement]/ExprSpecific: .Bar1[#BarEnum#]{{; name=.+$}}
152-
// BAR_ENUM_TYPE_CONTEXT-DAG: Decl[EnumElement]/ExprSpecific: .Bar2()[#() -> BarEnum#]{{; name=.+$}}
153-
// BAR_ENUM_TYPE_CONTEXT-DAG: Decl[EnumElement]/ExprSpecific: .Bar3({#Int#})[#(Int) -> BarEnum#]{{; name=.+$}}
154-
// BAR_ENUM_TYPE_CONTEXT-DAG: Decl[EnumElement]/ExprSpecific: .Bar4({#a: Int#}, {#b: Float#})[#(Int, Float) -> BarEnum#]{{; name=.+$}}
155-
// BAR_ENUM_TYPE_CONTEXT-DAG: Decl[EnumElement]/ExprSpecific: .Bar5({#a: Int#}, {#(Float)#})[#(Int, (Float)) -> BarEnum#]{{; name=.+$}}
156-
// BAR_ENUM_TYPE_CONTEXT-DAG: Decl[EnumElement]/ExprSpecific: .Bar6({#a: Int#}, {#b: (Float)#})[#(Int, (Float)) -> BarEnum#]{{; name=.+$}}
157-
// BAR_ENUM_TYPE_CONTEXT-DAG: Decl[EnumElement]/ExprSpecific: .Bar7({#a: Int#}, {#(b: Float, c: Double)#})[#(Int, (b: Float, c: Double)) -> BarEnum#]{{; name=.+$}}
158-
// BAR_ENUM_TYPE_CONTEXT-DAG: Decl[EnumElement]/ExprSpecific: .Bar8({#a: Int#}, {#b: (c: Float, d: Double)#})[#(Int, (c: Float, d: Double)) -> BarEnum#]{{; name=.+$}}
159-
// BAR_ENUM_TYPE_CONTEXT-DAG: Decl[EnumElement]/ExprSpecific: .Bar9({#Int#})[#(Int) -> BarEnum#]{{; name=.+$}}
160-
// BAR_ENUM_TYPE_CONTEXT-DAG: Decl[EnumElement]/ExprSpecific: .Bar10({#Int#}, {#Float#})[#(Int, Float) -> BarEnum#]{{; name=.+$}}
161-
// BAR_ENUM_TYPE_CONTEXT-DAG: Decl[EnumElement]/ExprSpecific: .Bar11({#Int#}, {#(Float)#})[#(Int, (Float)) -> BarEnum#]{{; name=.+$}}
162-
// BAR_ENUM_TYPE_CONTEXT-DAG: Decl[EnumElement]/ExprSpecific: .Bar12({#Int#}, {#(Float, Double)#})[#(Int, (Float, Double)) -> BarEnum#]{{; name=.+$}}
152+
// BAR_ENUM_TYPE_CONTEXT-DAG: Decl[EnumElement]/ExprSpecific: .Bar2()[#BarEnum#]{{; name=.+$}}
153+
// BAR_ENUM_TYPE_CONTEXT-DAG: Decl[EnumElement]/ExprSpecific: .Bar3({#Int#})[#BarEnum#]{{; name=.+$}}
154+
// BAR_ENUM_TYPE_CONTEXT-DAG: Decl[EnumElement]/ExprSpecific: .Bar4({#a: Int#}, {#b: Float#})[#BarEnum#]{{; name=.+$}}
155+
// BAR_ENUM_TYPE_CONTEXT-DAG: Decl[EnumElement]/ExprSpecific: .Bar5({#a: Int#}, {#(Float)#})[#BarEnum#]{{; name=.+$}}
156+
// BAR_ENUM_TYPE_CONTEXT-DAG: Decl[EnumElement]/ExprSpecific: .Bar6({#a: Int#}, {#b: (Float)#})[#BarEnum#]{{; name=.+$}}
157+
// BAR_ENUM_TYPE_CONTEXT-DAG: Decl[EnumElement]/ExprSpecific: .Bar7({#a: Int#}, {#(b: Float, c: Double)#})[#BarEnum#]{{; name=.+$}}
158+
// BAR_ENUM_TYPE_CONTEXT-DAG: Decl[EnumElement]/ExprSpecific: .Bar8({#a: Int#}, {#b: (c: Float, d: Double)#})[#BarEnum#]{{; name=.+$}}
159+
// BAR_ENUM_TYPE_CONTEXT-DAG: Decl[EnumElement]/ExprSpecific: .Bar9({#Int#})[#BarEnum#]{{; name=.+$}}
160+
// BAR_ENUM_TYPE_CONTEXT-DAG: Decl[EnumElement]/ExprSpecific: .Bar10({#Int#}, {#Float#})[#BarEnum#]{{; name=.+$}}
161+
// BAR_ENUM_TYPE_CONTEXT-DAG: Decl[EnumElement]/ExprSpecific: .Bar11({#Int#}, {#(Float)#})[#BarEnum#]{{; name=.+$}}
162+
// BAR_ENUM_TYPE_CONTEXT-DAG: Decl[EnumElement]/ExprSpecific: .Bar12({#Int#}, {#(Float, Double)#})[#BarEnum#]{{; name=.+$}}
163163
// BAR_ENUM_TYPE_CONTEXT: End completions
164164

165165
// BAR_ENUM_NO_DOT: Begin completions
166166
// BAR_ENUM_NO_DOT-NEXT: Decl[EnumElement]/CurrNominal: .Bar1[#BarEnum#]{{; name=.+$}}
167-
// BAR_ENUM_NO_DOT-NEXT: Decl[EnumElement]/CurrNominal: .Bar2()[#() -> BarEnum#]{{; name=.+$}}
168-
// BAR_ENUM_NO_DOT-NEXT: Decl[EnumElement]/CurrNominal: .Bar3({#Int#})[#(Int) -> BarEnum#]{{; name=.+$}}
169-
// BAR_ENUM_NO_DOT-NEXT: Decl[EnumElement]/CurrNominal: .Bar4({#a: Int#}, {#b: Float#})[#(Int, Float) -> BarEnum#]{{; name=.+$}}
170-
// BAR_ENUM_NO_DOT-NEXT: Decl[EnumElement]/CurrNominal: .Bar5({#a: Int#}, {#(Float)#})[#(Int, (Float)) -> BarEnum#]{{; name=.+$}}
171-
// BAR_ENUM_NO_DOT-NEXT: Decl[EnumElement]/CurrNominal: .Bar6({#a: Int#}, {#b: (Float)#})[#(Int, (Float)) -> BarEnum#]{{; name=.+$}}
172-
// BAR_ENUM_NO_DOT-NEXT: Decl[EnumElement]/CurrNominal: .Bar7({#a: Int#}, {#(b: Float, c: Double)#})[#(Int, (b: Float, c: Double)) -> BarEnum#]{{; name=.+$}}
173-
// BAR_ENUM_NO_DOT-NEXT: Decl[EnumElement]/CurrNominal: .Bar8({#a: Int#}, {#b: (c: Float, d: Double)#})[#(Int, (c: Float, d: Double)) -> BarEnum#]{{; name=.+$}}
174-
// BAR_ENUM_NO_DOT-NEXT: Decl[EnumElement]/CurrNominal: .Bar9({#Int#})[#(Int) -> BarEnum#]{{; name=.+$}}
175-
// BAR_ENUM_NO_DOT-NEXT: Decl[EnumElement]/CurrNominal: .Bar10({#Int#}, {#Float#})[#(Int, Float) -> BarEnum#]{{; name=.+$}}
176-
// BAR_ENUM_NO_DOT-NEXT: Decl[EnumElement]/CurrNominal: .Bar11({#Int#}, {#(Float)#})[#(Int, (Float)) -> BarEnum#]{{; name=.+$}}
177-
// BAR_ENUM_NO_DOT-NEXT: Decl[EnumElement]/CurrNominal: .Bar12({#Int#}, {#(Float, Double)#})[#(Int, (Float, Double)) -> BarEnum#]{{; name=.+$}}
167+
// BAR_ENUM_NO_DOT-NEXT: Decl[EnumElement]/CurrNominal: .Bar2()[#BarEnum#]{{; name=.+$}}
168+
// BAR_ENUM_NO_DOT-NEXT: Decl[EnumElement]/CurrNominal: .Bar3({#Int#})[#BarEnum#]{{; name=.+$}}
169+
// BAR_ENUM_NO_DOT-NEXT: Decl[EnumElement]/CurrNominal: .Bar4({#a: Int#}, {#b: Float#})[#BarEnum#]{{; name=.+$}}
170+
// BAR_ENUM_NO_DOT-NEXT: Decl[EnumElement]/CurrNominal: .Bar5({#a: Int#}, {#(Float)#})[#BarEnum#]{{; name=.+$}}
171+
// BAR_ENUM_NO_DOT-NEXT: Decl[EnumElement]/CurrNominal: .Bar6({#a: Int#}, {#b: (Float)#})[#BarEnum#]{{; name=.+$}}
172+
// BAR_ENUM_NO_DOT-NEXT: Decl[EnumElement]/CurrNominal: .Bar7({#a: Int#}, {#(b: Float, c: Double)#})[#BarEnum#]{{; name=.+$}}
173+
// BAR_ENUM_NO_DOT-NEXT: Decl[EnumElement]/CurrNominal: .Bar8({#a: Int#}, {#b: (c: Float, d: Double)#})[#BarEnum#]{{; name=.+$}}
174+
// BAR_ENUM_NO_DOT-NEXT: Decl[EnumElement]/CurrNominal: .Bar9({#Int#})[#BarEnum#]{{; name=.+$}}
175+
// BAR_ENUM_NO_DOT-NEXT: Decl[EnumElement]/CurrNominal: .Bar10({#Int#}, {#Float#})[#BarEnum#]{{; name=.+$}}
176+
// BAR_ENUM_NO_DOT-NEXT: Decl[EnumElement]/CurrNominal: .Bar11({#Int#}, {#(Float)#})[#BarEnum#]{{; name=.+$}}
177+
// BAR_ENUM_NO_DOT-NEXT: Decl[EnumElement]/CurrNominal: .Bar12({#Int#}, {#(Float, Double)#})[#BarEnum#]{{; name=.+$}}
178178
// BAR_ENUM_NO_DOT-NEXT: Decl[InstanceMethod]/CurrNominal: .barInstanceFunc({#self: &BarEnum#})[#() -> Void#]{{; name=.+$}}
179179
// BAR_ENUM_NO_DOT-NEXT: Decl[StaticVar]/CurrNominal: .staticVar[#Int#]{{; name=.+$}}
180180
// BAR_ENUM_NO_DOT-NEXT: Decl[StaticMethod]/CurrNominal: .barStaticFunc()[#Void#]{{; name=.+$}}
@@ -186,17 +186,17 @@ enum BarEnum {
186186
// BAR_ENUM_DOT-NEXT: Keyword[self]/CurrNominal: self[#BarEnum.Type#]; name=self
187187
// BAR_ENUM_DOT-NEXT: Keyword/CurrNominal: Type[#BarEnum.Type#]; name=Type
188188
// BAR_ENUM_DOT-NEXT: Decl[EnumElement]/CurrNominal: Bar1[#BarEnum#]{{; name=.+$}}
189-
// BAR_ENUM_DOT-NEXT: Decl[EnumElement]/CurrNominal: Bar2()[#() -> BarEnum#]{{; name=.+$}}
190-
// BAR_ENUM_DOT-NEXT: Decl[EnumElement]/CurrNominal: Bar3({#Int#})[#(Int) -> BarEnum#]{{; name=.+$}}
191-
// BAR_ENUM_DOT-NEXT: Decl[EnumElement]/CurrNominal: Bar4({#a: Int#}, {#b: Float#})[#(Int, Float) -> BarEnum#]{{; name=.+$}}
192-
// BAR_ENUM_DOT-NEXT: Decl[EnumElement]/CurrNominal: Bar5({#a: Int#}, {#(Float)#})[#(Int, (Float)) -> BarEnum#]{{; name=.+$}}
193-
// BAR_ENUM_DOT-NEXT: Decl[EnumElement]/CurrNominal: Bar6({#a: Int#}, {#b: (Float)#})[#(Int, (Float)) -> BarEnum#]{{; name=.+$}}
194-
// BAR_ENUM_DOT-NEXT: Decl[EnumElement]/CurrNominal: Bar7({#a: Int#}, {#(b: Float, c: Double)#})[#(Int, (b: Float, c: Double)) -> BarEnum#]{{; name=.+$}}
195-
// BAR_ENUM_DOT-NEXT: Decl[EnumElement]/CurrNominal: Bar8({#a: Int#}, {#b: (c: Float, d: Double)#})[#(Int, (c: Float, d: Double)) -> BarEnum#]{{; name=.+$}}
196-
// BAR_ENUM_DOT-NEXT: Decl[EnumElement]/CurrNominal: Bar9({#Int#})[#(Int) -> BarEnum#]{{; name=.+$}}
197-
// BAR_ENUM_DOT-NEXT: Decl[EnumElement]/CurrNominal: Bar10({#Int#}, {#Float#})[#(Int, Float) -> BarEnum#]{{; name=.+$}}
198-
// BAR_ENUM_DOT-NEXT: Decl[EnumElement]/CurrNominal: Bar11({#Int#}, {#(Float)#})[#(Int, (Float)) -> BarEnum#]{{; name=.+$}}
199-
// BAR_ENUM_DOT-NEXT: Decl[EnumElement]/CurrNominal: Bar12({#Int#}, {#(Float, Double)#})[#(Int, (Float, Double)) -> BarEnum#]{{; name=.+$}}
189+
// BAR_ENUM_DOT-NEXT: Decl[EnumElement]/CurrNominal: Bar2()[#BarEnum#]{{; name=.+$}}
190+
// BAR_ENUM_DOT-NEXT: Decl[EnumElement]/CurrNominal: Bar3({#Int#})[#BarEnum#]{{; name=.+$}}
191+
// BAR_ENUM_DOT-NEXT: Decl[EnumElement]/CurrNominal: Bar4({#a: Int#}, {#b: Float#})[#BarEnum#]{{; name=.+$}}
192+
// BAR_ENUM_DOT-NEXT: Decl[EnumElement]/CurrNominal: Bar5({#a: Int#}, {#(Float)#})[#BarEnum#]{{; name=.+$}}
193+
// BAR_ENUM_DOT-NEXT: Decl[EnumElement]/CurrNominal: Bar6({#a: Int#}, {#b: (Float)#})[#BarEnum#]{{; name=.+$}}
194+
// BAR_ENUM_DOT-NEXT: Decl[EnumElement]/CurrNominal: Bar7({#a: Int#}, {#(b: Float, c: Double)#})[#BarEnum#]{{; name=.+$}}
195+
// BAR_ENUM_DOT-NEXT: Decl[EnumElement]/CurrNominal: Bar8({#a: Int#}, {#b: (c: Float, d: Double)#})[#BarEnum#]{{; name=.+$}}
196+
// BAR_ENUM_DOT-NEXT: Decl[EnumElement]/CurrNominal: Bar9({#Int#})[#BarEnum#]{{; name=.+$}}
197+
// BAR_ENUM_DOT-NEXT: Decl[EnumElement]/CurrNominal: Bar10({#Int#}, {#Float#})[#BarEnum#]{{; name=.+$}}
198+
// BAR_ENUM_DOT-NEXT: Decl[EnumElement]/CurrNominal: Bar11({#Int#}, {#(Float)#})[#BarEnum#]{{; name=.+$}}
199+
// BAR_ENUM_DOT-NEXT: Decl[EnumElement]/CurrNominal: Bar12({#Int#}, {#(Float, Double)#})[#BarEnum#]{{; name=.+$}}
200200
// BAR_ENUM_DOT-NEXT: Decl[InstanceMethod]/CurrNominal/NotRecommended/TypeRelation[Invalid]: barInstanceFunc({#self: &BarEnum#})[#() -> Void#]{{; name=.+$}}
201201
// BAR_ENUM_DOT-NEXT: Decl[StaticVar]/CurrNominal: staticVar[#Int#]{{; name=.+$}}
202202
// BAR_ENUM_DOT-NEXT: Decl[StaticMethod]/CurrNominal/NotRecommended/TypeRelation[Invalid]: barStaticFunc()[#Void#]{{; name=.+$}}
@@ -215,12 +215,12 @@ enum BazEnum<T> {
215215

216216
// BAZ_ENUM_TYPE_CONTEXT: Begin completions
217217
// BAZ_ENUM_TYPE_CONTEXT-DAG: Decl[EnumElement]/ExprSpecific: .Baz1[#BazEnum<T>#]{{; name=.+$}}
218-
// BAZ_ENUM_TYPE_CONTEXT-DAG: Decl[EnumElement]/ExprSpecific: .Baz2({#T#})[#(T) -> BazEnum<T>#]{{; name=.+$}}
218+
// BAZ_ENUM_TYPE_CONTEXT-DAG: Decl[EnumElement]/ExprSpecific: .Baz2({#T#})[#BazEnum<T>#]{{; name=.+$}}
219219
// BAZ_ENUM_TYPE_CONTEXT: End completions
220220

221221
// BAZ_INT_ENUM_NO_DOT: Begin completions, 8 items
222222
// BAZ_INT_ENUM_NO_DOT-NEXT: Decl[EnumElement]/CurrNominal: .Baz1[#BazEnum<T>#]{{; name=.+$}}
223-
// BAZ_INT_ENUM_NO_DOT-NEXT: Decl[EnumElement]/CurrNominal: .Baz2({#T#})[#(T) -> BazEnum<T>#]{{; name=.+$}}
223+
// BAZ_INT_ENUM_NO_DOT-NEXT: Decl[EnumElement]/CurrNominal: .Baz2({#T#})[#BazEnum<T>#]{{; name=.+$}}
224224
// BAZ_INT_ENUM_NO_DOT-NEXT: Decl[InstanceMethod]/CurrNominal: .bazInstanceFunc({#self: &BazEnum<Int>#})[#() -> Void#]{{; name=.+$}}
225225
// BAZ_INT_ENUM_NO_DOT-NEXT: Decl[StaticVar]/CurrNominal: .staticVar[#Int#]{{; name=.+$}}
226226
// BAZ_INT_ENUM_NO_DOT-NEXT: Decl[StaticVar]/CurrNominal: .staticVarT[#Int#]{{; name=.+$}}
@@ -231,7 +231,7 @@ enum BazEnum<T> {
231231

232232
// BAZ_T_ENUM_NO_DOT: Begin completions
233233
// BAZ_T_ENUM_NO_DOT-NEXT: Decl[EnumElement]/CurrNominal: .Baz1[#BazEnum<T>#]{{; name=.+$}}
234-
// BAZ_T_ENUM_NO_DOT-NEXT: Decl[EnumElement]/CurrNominal: .Baz2({#T#})[#(T) -> BazEnum<T>#]{{; name=.+$}}
234+
// BAZ_T_ENUM_NO_DOT-NEXT: Decl[EnumElement]/CurrNominal: .Baz2({#T#})[#BazEnum<T>#]{{; name=.+$}}
235235
// BAZ_T_ENUM_NO_DOT-NEXT: Decl[InstanceMethod]/CurrNominal: .bazInstanceFunc({#self: &BazEnum<_>#})[#() -> Void#]{{; name=.+$}}
236236
// BAZ_T_ENUM_NO_DOT-NEXT: Decl[StaticVar]/CurrNominal: .staticVar[#Int#]{{; name=.+$}}
237237
// BAZ_T_ENUM_NO_DOT-NEXT: Decl[StaticVar]/CurrNominal: .staticVarT[#_#]{{; name=.+$}}
@@ -244,7 +244,7 @@ enum BazEnum<T> {
244244
// BAZ_INT_ENUM_DOT-NEXT: Keyword[self]/CurrNominal: self[#BazEnum<Int>.Type#]; name=self
245245
// BAZ_INT_ENUM_DOT-NEXT: Keyword/CurrNominal: Type[#BazEnum<Int>.Type#]; name=Type
246246
// BAZ_INT_ENUM_DOT-NEXT: Decl[EnumElement]/CurrNominal: Baz1[#BazEnum<T>#]{{; name=.+$}}
247-
// BAZ_INT_ENUM_DOT-NEXT: Decl[EnumElement]/CurrNominal: Baz2({#T#})[#(T) -> BazEnum<T>#]{{; name=.+$}}
247+
// BAZ_INT_ENUM_DOT-NEXT: Decl[EnumElement]/CurrNominal: Baz2({#T#})[#BazEnum<T>#]{{; name=.+$}}
248248
// BAZ_INT_ENUM_DOT-NEXT: Decl[InstanceMethod]/CurrNominal/NotRecommended/TypeRelation[Invalid]: bazInstanceFunc({#self: &BazEnum<Int>#})[#() -> Void#]{{; name=.+$}}
249249
// BAZ_INT_ENUM_DOT-NEXT: Decl[StaticVar]/CurrNominal: staticVar[#Int#]{{; name=.+$}}
250250
// BAZ_INT_ENUM_DOT-NEXT: Decl[StaticVar]/CurrNominal: staticVarT[#Int#]{{; name=.+$}}
@@ -255,7 +255,7 @@ enum BazEnum<T> {
255255
// BAZ_T_ENUM_DOT-NEXT: Keyword[self]/CurrNominal: self[#BazEnum<_>.Type#]; name=self
256256
// BAZ_T_ENUM_DOT-NEXT: Keyword/CurrNominal: Type[#BazEnum<_>.Type#]; name=Type
257257
// BAZ_T_ENUM_DOT-NEXT: Decl[EnumElement]/CurrNominal: Baz1[#BazEnum<T>#]{{; name=.+$}}
258-
// BAZ_T_ENUM_DOT-NEXT: Decl[EnumElement]/CurrNominal: Baz2({#T#})[#(T) -> BazEnum<T>#]{{; name=.+$}}
258+
// BAZ_T_ENUM_DOT-NEXT: Decl[EnumElement]/CurrNominal: Baz2({#T#})[#BazEnum<T>#]{{; name=.+$}}
259259
// BAZ_T_ENUM_DOT-NEXT: Decl[InstanceMethod]/CurrNominal: bazInstanceFunc({#self: &BazEnum<_>#})[#() -> Void#]{{; name=.+$}}
260260
// BAZ_T_ENUM_DOT-NEXT: Decl[StaticVar]/CurrNominal: staticVar[#Int#]{{; name=.+$}}
261261
// BAZ_T_ENUM_DOT-NEXT: Decl[StaticVar]/CurrNominal: staticVarT[#_#]{{; name=.+$}}

test/IDE/complete_exception.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -107,15 +107,15 @@ func test003() {
107107
do {} catch Error4.#^CATCH2^#
108108
// CATCH2: Begin completions
109109
// CATCH2: Decl[EnumElement]/CurrNominal: E1[#Error4#]{{; name=.+$}}
110-
// CATCH2: Decl[EnumElement]/CurrNominal: E2({#Int32#})[#(Int32) -> Error4#]{{; name=.+$}}
110+
// CATCH2: Decl[EnumElement]/CurrNominal: E2({#Int32#})[#Error4#]{{; name=.+$}}
111111
// CATCH2: End completions
112112
}
113113

114114
func test004() {
115115
throw Error4.#^THROW2^#
116116
// THROW2: Begin completions
117117
// THROW2: Decl[EnumElement]/CurrNominal: E1[#Error4#]{{; name=.+$}}
118-
// THROW2: Decl[EnumElement]/CurrNominal: E2({#Int32#})[#(Int32) -> Error4#]{{; name=.+$}}
118+
// THROW2: Decl[EnumElement]/CurrNominal: E2({#Int32#})[#Error4#]{{; name=.+$}}
119119
// THROW2: End completions
120120
}
121121

test/IDE/complete_unresolved_members.swift

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -252,15 +252,15 @@ class C4 {
252252
// UNRESOLVED_3_OPT-DAG: Decl[EnumElement]/ExprSpecific: North[#SomeEnum1#];
253253
// UNRESOLVED_3_OPT-DAG: Decl[EnumElement]/ExprSpecific: South[#SomeEnum1#];
254254
// UNRESOLVED_3_OPT-DAG: Decl[EnumElement]/ExprSpecific: none[#Optional<Wrapped>#]; name=none
255-
// UNRESOLVED_3_OPT-DAG: Decl[EnumElement]/ExprSpecific: some({#Wrapped#})[#(Wrapped) -> Optional<Wrapped>#];
255+
// UNRESOLVED_3_OPT-DAG: Decl[EnumElement]/ExprSpecific: some({#Wrapped#})[#Optional<Wrapped>#];
256256
// UNRESOLVED_3_OPT-DAG: Decl[Constructor]/CurrNominal: init({#(some): SomeEnum1#})[#Optional<SomeEnum1>#];
257257
// UNRESOLVED_3_OPT-DAG: Decl[Constructor]/CurrNominal: init({#nilLiteral: ()#})[#Optional<SomeEnum1>#];
258258

259259
// UNRESOLVED_3_OPTOPTOPT: Begin completions
260260
// UNRESOLVED_3_OPTOPTOPT-DAG: Decl[EnumElement]/ExprSpecific: North[#SomeEnum1#];
261261
// UNRESOLVED_3_OPTOPTOPT-DAG: Decl[EnumElement]/ExprSpecific: South[#SomeEnum1#];
262262
// UNRESOLVED_3_OPTOPTOPT-DAG: Decl[EnumElement]/ExprSpecific: none[#Optional<Wrapped>#]; name=none
263-
// UNRESOLVED_3_OPTOPTOPT-DAG: Decl[EnumElement]/ExprSpecific: some({#Wrapped#})[#(Wrapped) -> Optional<Wrapped>#];
263+
// UNRESOLVED_3_OPTOPTOPT-DAG: Decl[EnumElement]/ExprSpecific: some({#Wrapped#})[#Optional<Wrapped>#];
264264
// UNRESOLVED_3_OPTOPTOPT-DAG: Decl[Constructor]/CurrNominal: init({#(some): SomeEnum1??#})[#Optional<SomeEnum1??>#];
265265
// UNRESOLVED_3_OPTOPTOPT-DAG: Decl[Constructor]/CurrNominal: init({#nilLiteral: ()#})[#Optional<SomeEnum1??>#];
266266

@@ -421,8 +421,8 @@ func enumFromOtherFile() -> EnumFromOtherFile {
421421
return .#^OTHER_FILE_1^# // Don't crash.
422422
}
423423
// OTHER_FILE_1: Begin completions
424-
// OTHER_FILE_1-DAG: Decl[EnumElement]/ExprSpecific: b({#String#})[#(String) -> EnumFromOtherFile#];
425-
// OTHER_FILE_1-DAG: Decl[EnumElement]/ExprSpecific: a({#Int#})[#(Int) -> EnumFromOtherFile#];
424+
// OTHER_FILE_1-DAG: Decl[EnumElement]/ExprSpecific: b({#String#})[#EnumFromOtherFile#];
425+
// OTHER_FILE_1-DAG: Decl[EnumElement]/ExprSpecific: a({#Int#})[#EnumFromOtherFile#];
426426
// OTHER_FILE_1-DAG: Decl[EnumElement]/ExprSpecific: c[#EnumFromOtherFile#];
427427
// OTHER_FILE_1: End completions
428428

@@ -518,7 +518,7 @@ switch Generic<Int>.empty {
518518
case let .#^GENERIC_4^#
519519
}
520520
// GENERIC_1: Begin completions
521-
// GENERIC_1: Decl[EnumElement]/ExprSpecific: contains({#content: T#})[#(T) -> Generic<T>#];
521+
// GENERIC_1: Decl[EnumElement]/ExprSpecific: contains({#content: T#})[#Generic<T>#];
522522
// GENERIC_1: Decl[EnumElement]/ExprSpecific: empty[#Generic<T>#];
523523
// GENERIC_1_INT: Decl[StaticMethod]/CurrNominal: create({#Int#})[#Generic<Int>#];
524524
// GENERIC_1_U: Decl[StaticMethod]/CurrNominal: create({#U#})[#Generic<U>#];

0 commit comments

Comments
 (0)