mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
When completing at "extension A where #^HERE^#", we suggest the generic params of A to users.
39 lines
1.4 KiB
Swift
39 lines
1.4 KiB
Swift
// RUN: %target-swift-ide-test -code-completion -source-filename %s -code-completion-token=GP1 | FileCheck %s -check-prefix=A1
|
|
// RUN: %target-swift-ide-test -code-completion -source-filename %s -code-completion-token=GP2 | FileCheck %s -check-prefix=A1
|
|
// RUN: %target-swift-ide-test -code-completion -source-filename %s -code-completion-token=GP3 | FileCheck %s -check-prefix=A1
|
|
// RUN: %target-swift-ide-test -code-completion -source-filename %s -code-completion-token=GP4 | FileCheck %s -check-prefix=TYPE1
|
|
// RUN: %target-swift-ide-test -code-completion -source-filename %s -code-completion-token=GP5 | FileCheck %s -check-prefix=TYPE1
|
|
|
|
class A1<T1, T2, T3> {}
|
|
|
|
class A2<T4, T5> {}
|
|
|
|
protocol P1 {}
|
|
|
|
extension A1 where #^GP1^#{}
|
|
|
|
extension A1 where T1 : P1, #^GP2^# {}
|
|
|
|
extension A1 where T1 : P1, #^GP3^#
|
|
|
|
extension A1 where T1 : #^GP4^#
|
|
|
|
extension A1 where T1 : P1, T2 : #^GP5^#
|
|
|
|
// A1: Begin completions
|
|
// A1-DAG: Decl[GenericTypeParam]/Local: T1[#T1#]; name=T1
|
|
// A1-DAG: Decl[GenericTypeParam]/Local: T2[#T2#]; name=T2
|
|
// A1-DAG: Decl[GenericTypeParam]/Local: T3[#T3#]; name=T3
|
|
// A1-NOT: T4
|
|
// A1-NOT: T5
|
|
|
|
// TYPE1: Begin completions
|
|
// TYPE1-DAG: Decl[Protocol]/CurrModule: P1[#P1#]; name=P1
|
|
// TYPE1-DAG: Decl[Class]/CurrModule: A1[#A1#]; name=A1
|
|
// TYPE1-DAG: Decl[Class]/CurrModule: A2[#A2#]; name=A2
|
|
// TYPE1-NOT: T1
|
|
// TYPE1-NOT: T2
|
|
// TYPE1-NOT: T3
|
|
// TYPE1-NOT: T4
|
|
// TYPE1-NOT: T5
|