1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144
|
func test(x: Foo) {
x.
}
func bad() {}
func good() {}
func okay() {}
struct Foo {
func bad() { }
func good() { }
func good(_ p1: Int, p2: Any..., p3: ()->(), p4: (Int, Int), p5: inout Int) { }
func okay() {}
var sad: Int
var xhappy: Int
var zmeh: Int
}
// REQUIRES: objc_interop
// RUN: %sourcekitd-test -req=complete.open -pos=2:1 -req-opts=hidelowpriority=0 %s -- %s > %t.nopopular.top
// RUN: %sourcekitd-test -req=complete.open -pos=3:5 %s -- %s > %t.nopopular.foo
// RUN: %FileCheck %s -check-prefix=NOPOP_TOP < %t.nopopular.top
// RUN: %FileCheck %s -check-prefix=NOPOP_FOO < %t.nopopular.foo
// RUN: %sourcekitd-test -req=complete.setpopularapi -req-opts=popular=%s.popular,unpopular=%s.unpopular \
// RUN: == -req=complete.open -req-opts=hidelowpriority=0 -pos=2:1 %s -- %s > %t.popular.top
// RUN: %sourcekitd-test -req=complete.setpopularapi -req-opts=popular=%s.popular,unpopular=%s.unpopular \
// RUN: == -req=complete.open -pos=3:5 %s -- %s > %t.popular.foo
// RUN: %FileCheck %s -check-prefix=POP_TOP < %t.popular.top
// RUN: %FileCheck %s -check-prefix=POP_FOO < %t.popular.foo
// NOPOP_TOP: key.name: "bad()
// NOPOP_TOP: key.name: "good()
// NOPOP_TOP: key.name: "okay()
// POP_TOP: key.name: "good()
// POP_TOP: key.name: "okay()
// POP_TOP: key.name: "bad()
// NOPOP_FOO: key.name: "bad()
// NOPOP_FOO: key.name: "good()
// NOPOP_FOO: key.name: "good(:p2:p3:p4:p5:)
// NOPOP_FOO: key.name: "okay()
// NOPOP_FOO: key.name: "sad
// NOPOP_FOO: key.name: "xhappy
// NOPOP_FOO: key.name: "zmeh
// POP_FOO: key.name: "good(:p2:p3:p4:p5:)
// POP_FOO: key.name: "good()
// POP_FOO: key.name: "xhappy
// POP_FOO: key.name: "okay()
// POP_FOO: key.name: "zmeh
// POP_FOO: key.name: "sad
// POP_FOO: key.name: "bad()
// RUN: %complete-test -hide-none -fuzz -group=none -popular="%s.popular" -unpopular="%s.unpopular" -tok=POPULAR_STMT_0 %s -- -I %S/Inputs > %t.popular.stmt.0
// RUN: %FileCheck %s -check-prefix=POPULAR_STMT_0 < %t.popular.stmt.0
import PopularAPI
var globalColor = 0
struct OuterNominal {
var fromOuterNominalColor: Int = 0
class Super {
var fromSuperColor: Int = 0
}
class Derived : Super {
var fromDerivedColor: Int = 0
func test(argColor: Int) {
let localColor = 1
#^POPULAR_STMT_0,,col^#
// POPULAR_STMT_0-LABEL: Results for filterText: [
// POPULAR_STMT_0: argColor
// POPULAR_STMT_0: localColor
// POPULAR_STMT_0: good()
// POPULAR_STMT_0: fromDerivedColor
// POPULAR_STMT_0: fromSuperColor
// POPULAR_STMT_0: DDModuleColor
// POPULAR_STMT_0: EEModuleColor
// POPULAR_STMT_0: CCModuleColor
// POPULAR_STMT_0: globalColor
// POPULAR_STMT_0: okay()
// POPULAR_STMT_0: ModuleCollaborate
// POPULAR_STMT_0: bad()
// POPULAR_STMT_0: ]
// POPULAR_STMT_0-LABEL: Results for filterText: col [
// POPULAR_STMT_0: argColor
// POPULAR_STMT_0: localColor
// POPULAR_STMT_0: fromDerivedColor
// POPULAR_STMT_0: fromSuperColor
// POPULAR_STMT_0: DDModuleColor
// POPULAR_STMT_0: EEModuleColor
// POPULAR_STMT_0: CCModuleColor
// POPULAR_STMT_0: globalColor
// POPULAR_STMT_0: ModuleCollaborate
// POPULAR_STMT_0: BBModuleColor
// POPULAR_STMT_0: AAModuleColor
// POPULAR_STMT_0: ]
}
}
}
struct Outer {
struct ABTabularMonkey {}
struct ABTextMockery {}
struct ABTradeableEquity {}
struct ABVocalContour {}
struct ABBobtail {}
struct ABFont {}
}
// RUN: %complete-test -hide-none -fuzz -group=none -popular="%s.popular" -unpopular="%s.unpopular" -tok=POPULAR_VS_PREFIX_1 %s -- -I %S/Inputs | %FileCheck %s -check-prefix=POPULAR_VS_PREFIX_1
func testPopularityVsPrefixMatch1() {
let x: Outer.#^POPULAR_VS_PREFIX_1,,AB,ABT^#
}
// POPULAR_VS_PREFIX_1-LABEL: Results for filterText: [
// POPULAR_VS_PREFIX_1-NEXT: ABVocalContour
// POPULAR_VS_PREFIX_1-NEXT: ABBobtail
// POPULAR_VS_PREFIX_1-NEXT: ABFont
// POPULAR_VS_PREFIX_1-NEXT: ABTabularMonkey
// POPULAR_VS_PREFIX_1-NEXT: ABTextMockery
// POPULAR_VS_PREFIX_1-NEXT: ABTradeableEquity
// POPULAR_VS_PREFIX_1: ]
// POPULAR_VS_PREFIX_1-LABEL: Results for filterText: AB [
// POPULAR_VS_PREFIX_1-NEXT: ABVocalContour
// POPULAR_VS_PREFIX_1-NEXT: ABBobtail
// POPULAR_VS_PREFIX_1-NEXT: ABFont
// POPULAR_VS_PREFIX_1-NEXT: ABTextMockery
// POPULAR_VS_PREFIX_1-NEXT: ABTabularMonkey
// POPULAR_VS_PREFIX_1-NEXT: ABTradeableEquity
// POPULAR_VS_PREFIX_1-NEXT: ]
// POPULAR_VS_PREFIX_1-LABEL: Results for filterText: ABT [
// POPULAR_VS_PREFIX_1-NEXT: ABTextMockery
// POPULAR_VS_PREFIX_1-NEXT: ABTabularMonkey
// POPULAR_VS_PREFIX_1-NEXT: ABTradeableEquity
// POPULAR_VS_PREFIX_1-NEXT: ABVocalContour
// POPULAR_VS_PREFIX_1-NEXT: ABBobtail
// POPULAR_VS_PREFIX_1-NEXT: ABFont
// POPULAR_VS_PREFIX_1-NEXT: ]
|