import Foo import FooSwiftModule var glob : Int func foo(x: Int) {} func goo(x: Int) { foo(glob+x+Int(fooIntVar)+fooSwiftFunc()) } /// Aaa. S1. Bbb. struct S1 {} var w : S1 func test2(x: S1) {} class CC { init(x: Int) { self.init(x:0) } } var testString = "testString" let testLetString = "testString" func testLetParam(arg1 : Int) { } func testVarParam(var arg1 : Int) { } func testDefaultParam(arg1: Int = 0) { } fooSubFunc1(0) func myFunc(arg1: String) { } func myFunc(arg1: String, options: Int) { } var derivedObj = FooClassDerived() typealias MyInt = Int var x: MyInt import FooHelper.FooHelperSub class C2 { lazy var lazy_bar : Int = { return x }() } func test1(foo: FooUnavailableMembers) { foo.availabilityIntroduced() foo.swiftUnavailable() foo.unavailable() foo.availabilityIntroducedMsg() foo.availabilityDeprecated() } public class SubscriptCursorTest { public subscript(i: Int) -> Int { return 0 } public static func test() { let s = SubscriptCursorTest() let a = s[1234] + s[4321] } } class C3 { deinit {} init!(x: Int) { return nil } init?(y: Int) { return nil } init(z: Int) throws {} } struct S2 { func foo (closure: ()->()) -> ()->() { return closure } } class C4 {} enum E1 {} func nonDefaultArgNames(external1 local1: Int, _ local2: Int, external3 local3: Int, external4 _: Int, _: Int) {} func nestedFunctionType(closure: (y: (z: Int) -> Int) -> Int) -> (y: (z: Int) -> Int) -> Int) { return closure } enum E2 { case C1 case C2(x: Int, y: String), C3(Int) } enum E3: String { case C = "a" } func refEnumElements() { let w = E2.C1 let x = E2.C2(x: 1, y: "") let y: E2 = .C2(x: 2, y: "") let z: E3 = .C } class C4 { static var v1: Int = 0 final class var v2: Int = 0 static func f1() {} final class func f2() {} } protocol P1 { associatedtype T } func genReq(u: U, v: V) {} @objc class C5 { @objc(mmm1) @noreturn func m1() {} private(set) public var v1: Int = 1 } let tupleVar1: (((Int, Int), y: Int), z: Int) let tupleVar2: (f: ()->(), g: (x: Int)->Int) let tupleVar3: (f: (inout x: (Int, Int)) throws ->(), Int) enum E4: Int { case A = -1 case B = 0 case C = 1 } enum E5: Int { case A // implicit = 0 } enum E6: Float { case A = -0.0 case B = 1e10 } class C6: C4, P1 { typealias T = Int } protocol P2: class, P1 {} typealias MyAlias = (T, U, T, U) typealias MyAlias2 = MyAlias // RUN: rm -rf %t.tmp // RUN: mkdir %t.tmp // RUN: %swiftc_driver -emit-module -o %t.tmp/FooSwiftModule.swiftmodule %S/Inputs/FooSwiftModule.swift // RUN: %sourcekitd-test -req=cursor -pos=9:8 %s -- -F %S/../Inputs/libIDE-mock-sdk %mcp_opt %s | FileCheck -check-prefix=CHECK1 %s // CHECK1: source.lang.swift.ref.var.global (4:5-4:9) // CHECK1-NEXT: glob // CHECK1-NEXT: s:v11cursor_info4globSi{{$}} // CHECK1-NEXT: Int // RUN: %sourcekitd-test -req=cursor -pos=9:11 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck -check-prefix=CHECK2 %s // CHECK2: source.lang.swift.ref.function.operator.infix () // CHECK2-NEXT: + // CHECK2-NEXT: s:ZFsoi1pFTSiSi_Si // CHECK2-NEXT: (Int, Int) -> Int{{$}} // CHECK2-NEXT: Swift{{$}} // CHECK2-NEXT: Math // CHECK2-NEXT: SYSTEM // CHECK2-NEXT: func +(lhs: Int, rhs: Int) -> Int // CHECK2-NEXT: func +(lhs: Int, rhs: Int) -> Int // RUN: %sourcekitd-test -req=cursor -pos=9:12 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck -check-prefix=CHECK3 %s // CHECK3: source.lang.swift.ref.var.local (8:10-8:11) // CHECK3-NEXT: x{{$}} // CHECK3-NEXT: s:vF11cursor_info3gooFSiT_L_1xSi{{$}} // CHECK3-NEXT: Int{{$}} // CHECK3-NEXT: let x: Int // CHECK3-NEXT: let x: Int // RUN: %sourcekitd-test -req=cursor -pos=9:18 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck -check-prefix=CHECK4 %s // CHECK4: source.lang.swift.ref.var.global ({{.*}}Foo.framework/Headers/Foo.h:62:12-62:21) // CHECK4-NEXT: fooIntVar{{$}} // CHECK4-NEXT: c:@fooIntVar{{$}} // CHECK4-NEXT: Int32{{$}} // CHECK4-NEXT: Foo{{$}} // CHECK4-NEXT: var fooIntVar: Int32 // CHECK4-NEXT: var fooIntVar: Int32 // CHECK4-NEXT: fooIntVarc:@fooIntVarvar fooIntVar: Int32 Aaa. fooIntVar. Bbb. // RUN: %sourcekitd-test -req=cursor -pos=8:7 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck -check-prefix=CHECK5 %s // CHECK5: source.lang.swift.decl.function.free (8:6-8:17) // CHECK5-NEXT: goo(_:){{$}} // CHECK5-NEXT: s:F11cursor_info3gooFSiT_{{$}} // CHECK5-NEXT: (Int) -> (){{$}} // RUN: %sourcekitd-test -req=cursor -pos=9:32 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck -check-prefix=CHECK6 %s // CHECK6: source.lang.swift.ref.function.free () // CHECK6-NEXT: fooSwiftFunc // CHECK6-NEXT: s:F14FooSwiftModule12fooSwiftFuncFT_Si // CHECK6-NEXT: () -> Int // CHECK6-NEXT: FooSwiftModule // CHECK6-NEXT: func fooSwiftFunc() -> Int // CHECK6-NEXT: func fooSwiftFunc() -> Int // CHECK6-NEXT: {{^}}fooSwiftFunc()s:F14FooSwiftModule12fooSwiftFuncFT_Sifunc fooSwiftFunc() -> IntThis is 'fooSwiftFunc' from 'FooSwiftModule'.{{$}} // RUN: %sourcekitd-test -req=cursor -pos=14:10 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck -check-prefix=CHECK7 %s // CHECK7: source.lang.swift.ref.struct (13:8-13:10) // CHECK7-NEXT: S1 // CHECK7-NEXT: s:V11cursor_info2S1 // CHECK7-NEXT: S1.Type // CHECK7-NEXT: struct S1 // CHECK7-NEXT: struct S1 // CHECK7-NEXT: S1s:V11cursor_info2S1struct S1Aaa. S1. Bbb. // RUN: %sourcekitd-test -req=cursor -pos=19:12 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck -check-prefix=CHECK8 %s // CHECK8: source.lang.swift.ref.function.constructor (18:3-18:15) // CHECK8-NEXT: init // CHECK8-NEXT: s:FC11cursor_info2CCcFT1xSi_S0_ // CHECK8-NEXT: CC.Type -> (x: Int) -> CC // CHECK8-NEXT: convenience init(x: Int) // CHECK8-NEXT: convenience init(x: Int) // RUN: %sourcekitd-test -req=cursor -pos=23:6 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck -check-prefix=CHECK9 %s // CHECK9: source.lang.swift.decl.var.global (23:5-23:15) // CHECK9: var testString: String // CHECK9: var testString: String // RUN: %sourcekitd-test -req=cursor -pos=24:6 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck -check-prefix=CHECK10 %s // CHECK10: source.lang.swift.decl.var.global (24:5-24:18) // CHECK10: let testLetString: String // CHECK10: let testLetString: String // RUN: %sourcekitd-test -req=cursor -pos=26:20 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck -check-prefix=CHECK11 %s // CHECK11: source.lang.swift.decl.var.parameter (26:19-26:23) // CHECK11: let arg1: Int // CHECK11: let arg1: Int // RUN: %sourcekitd-test -req=cursor -pos=28:24 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck -check-prefix=CHECK12 %s // CHECK12: source.lang.swift.decl.var.parameter (28:23-28:27) // CHECK12: var arg1: Int // CHECK12: var arg1: Int // RUN: %sourcekitd-test -req=cursor -pos=31:7 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck -check-prefix=CHECK13 %s // CHECK13: source.lang.swift.decl.function.free (31:6-31:37) // CHECK13: func testDefaultParam(arg1: Int = default) // CHECK13: func testDefaultParam(arg1: Int = default) // RUN: %sourcekitd-test -req=cursor -pos=34:4 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck -check-prefix=CHECK14 %s // CHECK14: source.lang.swift.ref.function.free ({{.*}}Foo.framework/Frameworks/FooSub.framework/Headers/FooSub.h:4:5-4:16) // CHECK14: fooSubFunc1 // CHECK14: c:@F@fooSubFunc1 // CHECK14: Foo.FooSub{{$}} // RUN: %sourcekitd-test -req=cursor -pos=38:8 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck -check-prefix=CHECK15 %s // CHECK15: source.lang.swift.decl.function.free (38:6-38:40) // CHECK15: myFunc // CHECK15: func myFunc(arg1: String, options: Int) // CHECK15: func myFunc(arg1: String, options: Int) // CHECK15: RELATED BEGIN // CHECK15-NEXT: myFunc(_:) // CHECK15-NEXT: RELATED END // RUN: %sourcekitd-test -req=cursor -pos=41:26 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck -check-prefix=CHECK16 %s // CHECK16: source.lang.swift.ref.class ({{.*}}Foo.framework/Headers/Foo.h:157:12-157:27) // CHECK16-NEXT: FooClassDerived // CHECK16-NEXT: c:objc(cs)FooClassDerived // CHECK16: class FooClassDerived : FooClassBase, FooProtocolDerived // CHECK16-NEXT: class FooClassDerived : FooClassBase, FooProtocolDerived // RUN: %sourcekitd-test -req=cursor -pos=1:10 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck -check-prefix=CHECK17 %s // CHECK17: source.lang.swift.ref.module () // CHECK17-NEXT: Foo{{$}} // RUN: %sourcekitd-test -req=cursor -pos=44:10 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck -check-prefix=CHECK18 %s // CHECK18: source.lang.swift.ref.typealias (43:11-43:16) // CHECK18: typealias MyInt = Int // CHECK18: typealias MyInt = Int // RUN: %sourcekitd-test -req=cursor -pos=46:10 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck -check-prefix=CHECK19 %s // CHECK19: source.lang.swift.ref.module () // CHECK19-NEXT: FooHelper{{$}} // RUN: %sourcekitd-test -req=cursor -pos=46:25 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck -check-prefix=CHECK20 %s // CHECK20: source.lang.swift.ref.module () // CHECK20-NEXT: FooHelperSub{{$}} // RUN: %sourcekitd-test -req=cursor -pos=50:12 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck -check-prefix=CHECK21 %s // CHECK21: source.lang.swift.ref.var.global (44:5-44:6) // CHECK21-NEXT: {{^}}x{{$}} // RUN: %sourcekitd-test -req=cursor -pos=55:15 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck -check-prefix=CHECK22 %s // CHECK22: func availabilityIntroduced() // CHECK22: func availabilityIntroduced() // RUN: %sourcekitd-test -req=cursor -pos=56:15 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck -check-prefix=CHECK23 %s // CHECK23-NOT: func swiftUnavailable() // CHECK23-NOT: func swiftUnavailable() // RUN: %sourcekitd-test -req=cursor -pos=57:15 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck -check-prefix=CHECK24 %s // CHECK24-NOT: func unavailable() // CHECK24-NOT: func unavailable() // RUN: %sourcekitd-test -req=cursor -pos=58:15 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck -check-prefix=CHECK25 %s // CHECK25: func availabilityIntroducedMsg() // CHECK25: func availabilityIntroducedMsg() // RUN: %sourcekitd-test -req=cursor -pos=59:15 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck -check-prefix=CHECK26 %s // CHECK26-NOT: func availabilityDeprecated() // CHECK26-NOT: func availabilityDeprecated() // RUN: %sourcekitd-test -req=cursor -pos=69:14 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck -check-prefix=CHECK27 %s // CHECK27: public subscript(i: Int) -> Int { get } // CHECK27: public subscript(i: Int) -> Int { get } // RUN: %sourcekitd-test -req=cursor -pos=69:19 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck -check-prefix=CHECK28 %s // CHECK28: public subscript(i: Int) -> Int { get } // CHECK28: public subscript(i: Int) -> Int { get } // RUN: %sourcekitd-test -req=cursor -pos=74:3 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck %s -check-prefix=CHECK29 // CHECK29: source.lang.swift.decl.function.destructor (74:3-74:9) // CHECK29-NEXT: deinit // CHECK29-NEXT: s:FC11cursor_info2C3d // CHECK29-NEXT: C3 -> () // CHECK29-NEXT: deinit // CHECK29-NEXT: deinit // RUN: %sourcekitd-test -req=cursor -pos=75:3 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck %s -check-prefix=CHECK30 // CHECK30: source.lang.swift.decl.function.constructor (75:3-75:16) // CHECK30-NEXT: init(x:) // CHECK30-NEXT: s:FC11cursor_info2C3cFT1xSi_GSQS0__ // CHECK30-NEXT: C3.Type -> (x: Int) -> C3! // CHECK30-NEXT: init!(x: Int) // CHECK30-NEXT: init!(x: Int) // RUN: %sourcekitd-test -req=cursor -pos=76:3 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck %s -check-prefix=CHECK31 // CHECK31: source.lang.swift.decl.function.constructor (76:3-76:16) // CHECK31-NEXT: init(y:) // CHECK31-NEXT: s:FC11cursor_info2C3cFT1ySi_GSqS0__ // CHECK31-NEXT: C3.Type -> (y: Int) -> C3? // CHECK31-NEXT: init?(y: Int) // CHECK31-NEXT: init?(y: Int) // RUN: %sourcekitd-test -req=cursor -pos=77:3 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck %s -check-prefix=CHECK32 // CHECK32: source.lang.swift.decl.function.constructor (77:3-77:15) // CHECK32-NEXT: init(z:) // CHECK32-NEXT: s:FC11cursor_info2C3cFzT1zSi_S0_ // CHECK32-NEXT: C3.Type -> (z: Int) throws -> C3 // CHECK32-NEXT: init(z: Int) throws // CHECK32-NEXT: init(z: Int) throws // RUN: %sourcekitd-test -req=cursor -pos=80:8 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck %s -check-prefix=CHECK33 // CHECK33: source.lang.swift.decl.struct (80:8-80:10) // CHECK33-NEXT: S2 // CHECK33-NEXT: s:V11cursor_info2S2 // CHECK33-NEXT: S2.Type // CHECK33-NEXT: struct S2<T, U> // CHECK33-NEXT: struct S2<T, U> // RUN: %sourcekitd-test -req=cursor -pos=81:8 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck %s -check-prefix=CHECK34 // CHECK34: source.lang.swift.decl.function.method.instance (81:8-81:48) // CHECK34-NEXT: foo(_:) // CHECK34-NEXT: s:FV11cursor_info2S23foou0_rFFT_T_FT_T_ // CHECK34-NEXT: (S2) -> (() -> ()) -> () -> () // CHECK34-NEXT: func foo<V, W>(closure: () -> ()) -> () -> () // CHECK34-NEXT: func foo<V, W>(closure: () -> ()) -> () -> () // RUN: %sourcekitd-test -req=cursor -pos=83:7 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck %s -check-prefix=CHECK35 // CHECK35: source.lang.swift.decl.class (83:7-83:9) // CHECK35-NEXT: C4 // CHECK35-NEXT: s:C11cursor_info2C4 // CHECK35-NEXT: C4.Type // CHECK35-NEXT: class C4<T, U> // CHECK35-NEXT: class C4<T, U> // RUN: %sourcekitd-test -req=cursor -pos=84:6 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck %s -check-prefix=CHECK36 // CHECK36: source.lang.swift.decl.enum (84:6-84:8) // CHECK36-NEXT: E1 // CHECK36-NEXT: s:O11cursor_info2E1 // CHECK36-NEXT: E1.Type // CHECK36-NEXT: enum E1<T, U> // CHECK36-NEXT: enum E1<T, U> // RUN: %sourcekitd-test -req=cursor -pos=86:6 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck %s -check-prefix=CHECK37 // CHECK37: source.lang.swift.decl.function.free (86:6-86:111) // CHECK37-NEXT: nonDefaultArgNames(external1:_:external3:external4:_:) // CHECK37-NEXT: s:F11cursor_info18nonDefaultArgNamesFT9external1SiSi9external3Si9external4SiSi_T_ // CHECK37-NEXT: (external1: Int, Int, external3: Int, external4: Int, Int) -> () // CHECK37-NEXT: func nonDefaultArgNames(external1 local1: Int, _ local2: Int, external3 local3: Int, external4 _: Int, _: Int) // CHECK37-NEXT: func nonDefaultArgNames(external1 local1: Int, _ local2: Int, external3 local3: Int, external4 _: Int, _: Int) // RUN: %sourcekitd-test -req=cursor -pos=88:6 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck %s -check-prefix=CHECK38 // CHECK38: func nestedFunctionType(closure: (y: (z: Int) -> Int) -> Int) -> (y: (z: Int) -> Int) -> Int // RUN: %sourcekitd-test -req=cursor -pos=91:8 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck %s -check-prefix=CHECK39 // CHECK39: source.lang.swift.decl.enumelement (91:8-91:10) // CHECK39-NEXT: C1 // CHECK39-NEXT: s:FO11cursor_info2E22C1FMS0_S0_ // CHECK39-NEXT: E2.Type -> E2 // CHECK39-NEXT: case C1 // CHECK39-NEXT: case C1 // RUN: %sourcekitd-test -req=cursor -pos=92:8 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck %s -check-prefix=CHECK40 // CHECK40: source.lang.swift.decl.enumelement (92:8-92:10) // CHECK40-NEXT: C2 // CHECK40-NEXT: s:FO11cursor_info2E22C2FMS0_FT1xSi1ySS_S0_ // CHECK40-NEXT: E2.Type -> (x: Int, y: String) -> E2 // CHECK40-NEXT: case C2(x: Int, y: String) // CHECK40-NEXT: case C2(x: Int, y: String) // RUN: %sourcekitd-test -req=cursor -pos=92:31 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck %s -check-prefix=CHECK41 // CHECK41: source.lang.swift.decl.enumelement (92:31-92:33) // CHECK41-NEXT: C3 // CHECK41-NEXT: s:FO11cursor_info2E22C3FMS0_FSiS0_ // CHECK41-NEXT: E2.Type -> (Int) -> E2 // CHECK41-NEXT: case C3(Int) // CHECK41-NEXT: case C3(Int) // FIXME: Wrap parameters in // RUN: %sourcekitd-test -req=cursor -pos=96:8 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck %s -check-prefix=CHECK42 // CHECK42: source.lang.swift.decl.enumelement (96:8-96:9) // CHECK42-NEXT: C // CHECK42-NEXT: s:FO11cursor_info2E31CFMS0_S0_ // CHECK42-NEXT: E3.Type -> E3 // CHECK42-NEXT: case C = "a" // CHECK42-NEXT: case C = "a" // RUN: %sourcekitd-test -req=cursor -pos=100:14 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck %s -check-prefix=CHECK43 // CHECK43: source.lang.swift.ref.enumelement (91:8-91:10) // CHECK43-NEXT: C1 // CHECK43: case C1 // CHECK43-NEXT: case C1 // RUN: %sourcekitd-test -req=cursor -pos=101:14 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck %s -check-prefix=CHECK44 // CHECK44: source.lang.swift.ref.enumelement (92:8-92:10) // CHECK44-NEXT: C2 // CHECK44: case C2(x: Int, y: String) // CHECK44-NEXT: case C2(x: case C2(x: Int, y: String) // CHECK45-NEXT: case C2(x // RUN: %sourcekitd-test -req=cursor -pos=103:16 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck %s -check-prefix=CHECK46 // CHECK46: source.lang.swift.ref.enumelement (96:8-96:9) // CHECK46-NEXT: C // CHECK46: case C = "a" // CHECK46-NEXT: case C = "a" // RUN: %sourcekitd-test -req=cursor -pos=80:11 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck %s -check-prefix=CHECK47 // CHECK47: source.lang.swift.decl.generic_type_param (80:11-80:12) // CHECK47-NEXT: T // CHECK47-NEXT: s:tV11cursor_info2S21TMx // CHECK47-NEXT: T.Type // CHECK47-NEXT: T // CHECK47-NEXT: T // RUN: %sourcekitd-test -req=cursor -pos=107:14 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck %s -check-prefix=CHECK48 // CHECK48: source.lang.swift.decl.var.static (107:14-107:16) // CHECK48: static var // RUN: %sourcekitd-test -req=cursor -pos=108:19 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck %s -check-prefix=CHECK49 // CHECK49: source.lang.swift.decl.var.class (108:19-108:21) // CHECK49: final class var // RUN: %sourcekitd-test -req=cursor -pos=109:15 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck %s -check-prefix=CHECK50 // CHECK50: source.lang.swift.decl.function.method.static (109:15-109:19) // CHECK50: static func // RUN: %sourcekitd-test -req=cursor -pos=110:20 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck %s -check-prefix=CHECK51 // CHECK51: source.lang.swift.decl.function.method.class (110:20-110:24) // CHECK51: final class func // RUN: %sourcekitd-test -req=cursor -pos=117:6 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck %s -check-prefix=CHECK52 // CHECK52: source.lang.swift.decl.function.free (117:6-117:49) // CHECK52: (U, v: V) -> () // CHECK52: <U, V : P1 where V.T == U> // RUN: %sourcekitd-test -req=cursor -pos=117:16 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck %s -check-prefix=CHECK53 // CHECK53: source.lang.swift.decl.generic_type_param (117:16-117:17) // CHECK53: V : P1 // RUN: %sourcekitd-test -req=cursor -pos=119:13 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck %s -check-prefix=CHECK54 // CHECK54: source.lang.swift.decl.class (119:13-119:15) // CHECK54: @objc class // RUN: %sourcekitd-test -req=cursor -pos=122:8 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck %s -check-prefix=CHECK55 // CHECK55: source.lang.swift.decl.function.method.instance (122:8-122:12) // CHECK55: @objc(mmm1) @noreturn func // RUN: %sourcekitd-test -req=cursor -pos=126:7 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck %s -check-prefix=CHECK56 // CHECK56: source.lang.swift.decl.var.instance (126:7-126:9) // CHECK56: private(set) public var // RUN: %sourcekitd-test -req=cursor -pos=129:5 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck %s -check-prefix=CHECK57 // CHECK57: source.lang.swift.decl.var.global (129:5-129:14) // CHECK57: let tupleVar1: (((Int, Int), y: Int), z: Int) // RUN: %sourcekitd-test -req=cursor -pos=130:5 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck %s -check-prefix=CHECK58 // CHECK58: source.lang.swift.decl.var.global (130:5-130:14) // CHECK58: let tupleVar2: (f: () -> (), g: (x: Int) -> Int) // RUN: %sourcekitd-test -req=cursor -pos=131:5 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck %s -check-prefix=CHECK59 // CHECK59: source.lang.swift.decl.var.global (131:5-131:14) // CHECK59: let tupleVar3: (f: (x: inout (Int, Int)) throws -> (), Int) // RUN: %sourcekitd-test -req=cursor -pos=134:8 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck %s -check-prefix=CHECK60 // CHECK60: case A = -1 // RUN: %sourcekitd-test -req=cursor -pos=135:8 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck %s -check-prefix=CHECK61 // CHECK61: case B = 0 // RUN: %sourcekitd-test -req=cursor -pos=136:8 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck %s -check-prefix=CHECK62 // CHECK62: case C = 1 // RUN: %sourcekitd-test -req=cursor -pos=142:8 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck %s -check-prefix=CHECK63 // CHECK63: case A = -0.0 // RUN: %sourcekitd-test -req=cursor -pos=143:8 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck %s -check-prefix=CHECK64 // CHECK64: case B = 1e10 // RUN: %sourcekitd-test -req=cursor -pos=146:7 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck %s -check-prefix=CHECK65 // CHECK65: class C6 : C4, P1 // FIXME: ref.class - rdar://problem/25014968 // RUN: %sourcekitd-test -req=cursor -pos=150:10 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck %s -check-prefix=CHECK66 // CHECK66: protocol P2 : class, P1 // RUN: %sourcekitd-test -req=cursor -pos=114:18 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck %s -check-prefix=CHECK67 // CHECK67: source.lang.swift.decl.associatedtype (114:18-114:19) // CHECK67-NEXT: T // CHECK67-NEXT: s:P11cursor_info2P11T // CHECK67-NEXT: T.Type // CHECK67-NEXT: associatedtype T // CHECK67-NEXT: associatedtype T // RUN: %sourcekitd-test -req=cursor -pos=152:11 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck %s -check-prefix=CHECK68 // CHECK68: source.lang.swift.decl.typealias (152:11-152:18) // CHECK68-NEXT: MyAlias // CHECK68-NEXT: s:11cursor_info7MyAlias // CHECK68-NEXT: MyAlias.Type // FIXME: missing USR for generic typealias parameter. // CHECK68-NEXT: typealias MyAlias<T, U> = (T, U, T, U) // CHECK68-NEXT: typealias MyAlias<T, U> = (T, U, T, U) // RUN: %sourcekitd-test -req=cursor -pos=153:28 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | FileCheck %s -check-prefix=CHECK69 // CHECK69: source.lang.swift.ref.typealias (152:11-152:18) // CHECK69-NEXT: MyAlias // CHECK69-NEXT: s:11cursor_info7MyAlias // CHECK69-NEXT: MyAlias.Type // FIXME: missing USR for generic typealias parameter. // CHECK69-NEXT: typealias MyAlias<T, U> = (T, U, T, U) // CHECK69-NEXT: typealias MyAlias<T, U> = (T, U, T, U)