mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
Aligning with our recent changes for Clang doc comments, the three new fields for Swift are "- keyword:", "- recommended:", and "- recommendedover:". We also manifest their contents in code completion results to guide users to choose the right API.
84 lines
1.9 KiB
Swift
84 lines
1.9 KiB
Swift
// RUN: %target-swift-ide-test -code-completion -source-filename %s -code-completion-token=TYPE1 | FileCheck %s -check-prefix=TYPE1
|
|
// RUN: %target-swift-ide-test -code-completion -source-filename %s -code-completion-token=MEMBER1 | FileCheck %s -check-prefix=MEMBER1
|
|
|
|
/**
|
|
- keyword: C1, Class
|
|
- recommended: C2
|
|
*/
|
|
class C1 {
|
|
/**
|
|
- keyword: v1, Int
|
|
- recommended: v2
|
|
*/
|
|
var v1 : Int = 0
|
|
|
|
/**
|
|
- keyword: v2, Int
|
|
- recommendedover: v1
|
|
*/
|
|
var v2 : Int = 0
|
|
|
|
/**
|
|
- keyword: f1, func
|
|
- recommended: f2
|
|
*/
|
|
func f1() {}
|
|
|
|
/**
|
|
- keyword: f2, func
|
|
- recommendedover: f1
|
|
*/
|
|
func f2() {}
|
|
}
|
|
|
|
/**
|
|
- keyword: C2, Class
|
|
- recommendedover: C1
|
|
*/
|
|
class C2 {}
|
|
|
|
/**
|
|
- keyword: S1, Struct
|
|
- recommendedover: S2
|
|
*/
|
|
struct S1 {}
|
|
|
|
/**
|
|
- keyword: S2, Struct
|
|
- recommended: S1
|
|
*/
|
|
struct S2 {}
|
|
|
|
/**
|
|
- keyword: E1, Enum
|
|
- recommended: E2
|
|
*/
|
|
enum E1{}
|
|
|
|
/**
|
|
- keyword: E2, Enum
|
|
- recommendedover: E1
|
|
*/
|
|
enum E2{}
|
|
|
|
func foo1() {
|
|
#^TYPE1^#
|
|
// TYPE1: Begin completions
|
|
// TYPE1-DAG: Decl[Class]/CurrModule/keyword[C1, Class]/recommended[C2]: C1[#C1#]
|
|
// TYPE1-DAG: Decl[Struct]/CurrModule/keyword[S1, Struct]/recommendedover[S2]: S1[#S1#]
|
|
// TYPE1-DAG: Decl[Enum]/CurrModule/keyword[E2, Enum]/recommendedover[E1]: E2[#E2#]
|
|
// TYPE1-DAG: Decl[Struct]/CurrModule/keyword[S2, Struct]/recommended[S1]: S2[#S2#]
|
|
// TYPE1-DAG: Decl[Class]/CurrModule/keyword[C2, Class]/recommendedover[C1]: C2[#C2#]
|
|
// TYPE1-DAG: Decl[Enum]/CurrModule/keyword[E1, Enum]/recommended[E2]: E1[#E1#]
|
|
}
|
|
|
|
func foo2() {
|
|
let c = C1()
|
|
c.#^MEMBER1^#
|
|
// MEMBER1: Begin completions
|
|
// MEMBER1-NEXT: Decl[InstanceVar]/CurrNominal/keyword[v1, Int]/recommended[v2]: v1[#Int#]
|
|
// MEMBER1-NEXT: Decl[InstanceVar]/CurrNominal/keyword[v2, Int]/recommendedover[v1]: v2[#Int#]
|
|
// MEMBER1-NEXT: Decl[InstanceMethod]/CurrNominal/keyword[f1, func]/recommended[f2]: f1()[#Void#]
|
|
// MEMBER1-NEXT: Decl[InstanceMethod]/CurrNominal/keyword[f2, func]/recommendedover[f1]: f2()[#Void#]
|
|
}
|