blob: 67cd2a43498c7e7a864f3717dcc5583f830822d7 [file] [log] [blame]
// 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