Files
swift-mirror/test/IDE/complete_where_clause.swift
Xi Ge 0f4e7a5ea5 [CodeCompletion] Add code completion for where clauses. rdar://24245022
When completing at "extension A where #^HERE^#", we suggest the generic params of A to users.
2016-01-19 14:17:15 -08:00

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