import SwiftOnoneSupport class C1 : Prot { typealias Element = Int var p: Int func foo() subscript(_ index: Int) -> Int { get } subscript(index i: Float) -> Int { get } enum C1Cases : Int { case case1 } func extfoo() func foo1() subscript(_ index: Int) -> Int { get } } extension C1 : P4 { func C1foo() struct C1S1 { func C1S1foo(a a: P4) } } class C2 : cake.C1 { func C2foo() enum C1Cases : Int { case case1 } func extfoo() func foo1() subscript(_ index: Int) -> Int { get } } extension C2 : P4 { func C1foo() struct C1S1 { func C1S1foo(a a: P4) } } enum MyEnum : Int { case Blah } @objc protocol P2 { @objc optional func foo1() } protocol P3 { associatedtype T } protocol P4 { } protocol Prot { associatedtype Element var p: Int { get } func foo() func foo1() } extension Prot { func foo1() subscript(_ index: Int) -> Int { get } } extension Prot where Self.Element == Int { func extfoo() } struct S1 { enum SE { case a case b case c } func foo1() struct S2 { let b: Int } } struct S2 : P3 { typealias T = cake.S2 } func genfoo(x ix: T1, y iy: T2) where T1 : Prot, T2 : cake.C1, T1.Element == cake.C1.Element [ { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 0, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 7, key.length: 17 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 26, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 32, key.length: 2 }, { key.kind: source.lang.swift.ref.protocol, key.name: "Prot", key.usr: "s:4cake4ProtP", key.offset: 37, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 49, key.length: 9 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 59, key.length: 7 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", key.offset: 69, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 78, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 82, key.length: 1 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", key.offset: 85, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 94, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 99, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 110, key.length: 9 }, { key.kind: source.lang.swift.syntaxtype.argument, key.offset: 120, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, key.offset: 122, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 122, key.length: 5 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", key.offset: 129, key.length: 3 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", key.offset: 137, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 143, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 154, key.length: 9 }, { key.kind: source.lang.swift.syntaxtype.argument, key.offset: 164, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.parameter, key.offset: 170, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 164, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 170, key.length: 1 }, { key.kind: source.lang.swift.ref.struct, key.name: "Float", key.usr: "s:Sf", key.offset: 173, key.length: 5 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", key.offset: 183, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 189, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 200, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 205, key.length: 7 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", key.offset: 215, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 230, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 235, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 252, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 257, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 271, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 276, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 288, key.length: 9 }, { key.kind: source.lang.swift.syntaxtype.argument, key.offset: 298, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, key.offset: 300, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 300, key.length: 5 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", key.offset: 307, key.length: 3 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", key.offset: 315, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 321, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 330, key.length: 9 }, { key.kind: source.lang.swift.ref.class, key.name: "C1", key.usr: "s:4cake2C1C", key.offset: 340, key.length: 2 }, { key.kind: source.lang.swift.ref.protocol, key.name: "P4", key.usr: "s:4cake2P4P", key.offset: 345, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 355, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 360, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 373, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 380, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 396, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 401, key.length: 7 }, { key.kind: source.lang.swift.syntaxtype.argument, key.offset: 409, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, key.offset: 411, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 409, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 411, key.length: 1 }, { key.kind: source.lang.swift.ref.protocol, key.name: "P4", key.usr: "s:4cake2P4P", key.offset: 414, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 427, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 433, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.typeidentifier, key.offset: 438, key.length: 4 }, { key.kind: source.lang.swift.ref.class, key.name: "C1", key.usr: "s:4cake2C1C", key.offset: 443, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 453, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 458, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 471, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 476, key.length: 7 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", key.offset: 486, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 501, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 506, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 523, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 528, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 542, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 547, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 559, key.length: 9 }, { key.kind: source.lang.swift.syntaxtype.argument, key.offset: 569, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, key.offset: 571, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 571, key.length: 5 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", key.offset: 578, key.length: 3 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", key.offset: 586, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 592, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 601, key.length: 9 }, { key.kind: source.lang.swift.ref.class, key.name: "C2", key.usr: "s:4cake2C2C", key.offset: 611, key.length: 2 }, { key.kind: source.lang.swift.ref.protocol, key.name: "P4", key.usr: "s:4cake2P4P", key.offset: 616, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 626, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 631, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 644, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 651, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 667, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 672, key.length: 7 }, { key.kind: source.lang.swift.syntaxtype.argument, key.offset: 680, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, key.offset: 682, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 680, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 682, key.length: 1 }, { key.kind: source.lang.swift.ref.protocol, key.name: "P4", key.usr: "s:4cake2P4P", key.offset: 685, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 698, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 703, key.length: 6 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", key.offset: 712, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 723, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 728, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, key.offset: 736, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 742, key.length: 8 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 751, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, key.offset: 761, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, key.offset: 767, key.length: 8 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 776, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 781, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 791, key.length: 8 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 800, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 810, key.length: 14 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 825, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 830, key.length: 8 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 839, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 847, key.length: 8 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 856, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 868, key.length: 14 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 883, key.length: 7 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 896, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 900, key.length: 1 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", key.offset: 903, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 909, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 920, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 925, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 936, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 941, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 951, key.length: 9 }, { key.kind: source.lang.swift.ref.protocol, key.name: "Prot", key.usr: "s:4cake4ProtP", key.offset: 961, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 973, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 978, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 990, key.length: 9 }, { key.kind: source.lang.swift.syntaxtype.argument, key.offset: 1000, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, key.offset: 1002, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 1002, key.length: 5 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", key.offset: 1009, key.length: 3 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", key.offset: 1017, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 1023, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 1032, key.length: 9 }, { key.kind: source.lang.swift.ref.protocol, key.name: "Prot", key.usr: "s:4cake4ProtP", key.offset: 1042, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 1047, key.length: 5 }, { key.kind: source.lang.swift.ref.generic_type_param, key.name: "Self", key.usr: "s:4cake4ProtPA2aBRzSi7ElementRtzlE4Selfxmfp", key.offset: 1053, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 1058, key.length: 7 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", key.offset: 1069, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 1080, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 1085, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 1097, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 1104, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 1114, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 1119, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 1133, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 1138, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 1149, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 1154, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 1165, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 1170, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 1183, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 1188, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 1200, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 1207, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 1221, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 1225, key.length: 1 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", key.offset: 1228, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 1241, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 1248, key.length: 2 }, { key.kind: source.lang.swift.ref.protocol, key.name: "P3", key.usr: "s:4cake2P3P", key.offset: 1253, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 1263, key.length: 9 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 1273, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.typeidentifier, key.offset: 1277, key.length: 4 }, { key.kind: source.lang.swift.ref.struct, key.name: "S2", key.usr: "s:4cake2S2V", key.offset: 1282, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 1288, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 1293, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 1300, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 1304, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 1308, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 1310, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 1314, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 1318, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 1320, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 1324, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 1328, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.typeidentifier, key.offset: 1334, key.length: 2 }, { key.kind: source.lang.swift.ref.protocol, key.name: "Prot", key.usr: "s:4cake4ProtP", key.offset: 1339, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.typeidentifier, key.offset: 1345, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.typeidentifier, key.offset: 1350, key.length: 4 }, { key.kind: source.lang.swift.ref.class, key.name: "C1", key.usr: "s:4cake2C1C", key.offset: 1355, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.typeidentifier, key.offset: 1359, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.typeidentifier, key.offset: 1362, key.length: 7 }, { key.kind: source.lang.swift.syntaxtype.typeidentifier, key.offset: 1373, key.length: 4 }, { key.kind: source.lang.swift.ref.class, key.name: "C1", key.usr: "s:4cake2C1C", key.offset: 1378, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.argument, key.offset: 1308, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, key.offset: 1310, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.argument, key.offset: 1318, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, key.offset: 1320, key.length: 2 }, { key.kind: source.lang.swift.ref.typealias, key.name: "Element", key.usr: "s:4cake2C1C7Elementa", key.offset: 1381, key.length: 7 } ] [ { key.kind: source.lang.swift.decl.class, key.name: "C1", key.usr: "s:4cake2C1C", key.offset: 26, key.length: 302, key.fully_annotated_decl: "class C1 : Prot", key.conforms: [ { key.kind: source.lang.swift.ref.protocol, key.name: "Prot", key.usr: "s:4cake4ProtP" } ], key.entities: [ { key.kind: source.lang.swift.decl.typealias, key.name: "Element", key.usr: "s:4cake2C1C7Elementa", key.offset: 49, key.length: 23, key.fully_annotated_decl: "typealias C1.Element = Int", key.conforms: [ { key.kind: source.lang.swift.ref.protocol, key.name: "FixedWidthInteger", key.usr: "s:s17FixedWidthIntegerP" }, { key.kind: source.lang.swift.ref.protocol, key.name: "SignedInteger", key.usr: "s:s13SignedIntegerP" }, { key.kind: source.lang.swift.ref.protocol, key.name: "_ExpressibleByBuiltinIntegerLiteral", key.usr: "s:s35_ExpressibleByBuiltinIntegerLiteralP" } ] }, { key.kind: source.lang.swift.decl.var.instance, key.name: "p", key.usr: "s:4cake2C1C1pSivp", key.offset: 78, key.length: 10, key.fully_annotated_decl: "var p: Int", key.conforms: [ { key.kind: source.lang.swift.ref.var.instance, key.name: "p", key.usr: "s:4cake4ProtP1pSivp" }, { key.kind: source.lang.swift.ref.var.instance, key.name: "p", key.usr: "s:4cake4ProtP1pSivp" } ] }, { key.kind: source.lang.swift.decl.function.method.instance, key.name: "foo()", key.usr: "s:4cake2C1C3fooyyF", key.offset: 94, key.length: 10, key.fully_annotated_decl: "func foo()", key.conforms: [ { key.kind: source.lang.swift.ref.function.method.instance, key.name: "foo()", key.usr: "s:4cake4ProtP3fooyyF" }, { key.kind: source.lang.swift.ref.function.method.instance, key.name: "foo()", key.usr: "s:4cake4ProtP3fooyyF" } ] }, { key.kind: source.lang.swift.decl.function.subscript, key.name: "subscript(_:)", key.usr: "s:4cake2C1CS2icip", key.offset: 110, key.length: 38, key.fully_annotated_decl: "subscript(index: Int) -> Int { get }", key.entities: [ { key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "index", key.offset: 129, key.length: 3 } ] }, { key.kind: source.lang.swift.decl.function.subscript, key.name: "subscript(index:)", key.usr: "s:4cake2C1CSiSf5index_tcip", key.offset: 154, key.length: 40, key.fully_annotated_decl: "subscript(index i: Float) -> Int { get }", key.entities: [ { key.kind: source.lang.swift.decl.var.local, key.keyword: "index", key.name: "i", key.offset: 173, key.length: 5 } ] }, { key.kind: source.lang.swift.decl.enum, key.name: "C1Cases", key.usr: "s:4cake2C1C0B5CasesO", key.offset: 200, key.length: 46, key.fully_annotated_decl: "enum C1Cases : Int", key.inherits: [ { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si" } ], key.entities: [ { key.kind: source.lang.swift.decl.enumelement, key.name: "case1", key.usr: "s:4cake2C1C0B5CasesO5case1A2EmF", key.offset: 230, key.length: 10, key.fully_annotated_decl: "case case1" } ] }, { key.kind: source.lang.swift.decl.function.method.instance, key.name: "extfoo()", key.usr: "s:4cake4ProtPA2aBRzSi7ElementRtzlE6extfooyyF::SYNTHESIZED::s:4cake2C1C", key.original_usr: "s:4cake4ProtPA2aBRzSi7ElementRtzlE6extfooyyF", key.offset: 252, key.length: 13, key.fully_annotated_decl: "func extfoo()" }, { key.kind: source.lang.swift.decl.function.method.instance, key.name: "foo1()", key.usr: "s:4cake4ProtPAAE4foo1yyF::SYNTHESIZED::s:4cake2C1C", key.original_usr: "s:4cake4ProtPAAE4foo1yyF", key.offset: 271, key.length: 11, key.fully_annotated_decl: "func foo1()" }, { key.kind: source.lang.swift.decl.function.subscript, key.name: "subscript(_:)", key.usr: "s:4cake4ProtPAAES2icip::SYNTHESIZED::s:4cake2C1C", key.original_usr: "s:4cake4ProtPAAES2icip", key.offset: 288, key.length: 38, key.fully_annotated_decl: "subscript(index: Int) -> Int { get }", key.entities: [ { key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "index", key.offset: 307, key.length: 3 } ] } ] }, { key.kind: source.lang.swift.decl.extension.class, key.offset: 330, key.length: 95, key.conforms: [ { key.kind: source.lang.swift.ref.protocol, key.name: "P4", key.usr: "s:4cake2P4P" } ], key.extends: { key.kind: source.lang.swift.ref.class, key.name: "C1", key.usr: "s:4cake2C1C" }, key.entities: [ { key.kind: source.lang.swift.decl.function.method.instance, key.name: "C1foo()", key.usr: "s:4cake2C1C5C1fooyyF", key.offset: 355, key.length: 12, key.fully_annotated_decl: "func C1foo()" }, { key.kind: source.lang.swift.decl.struct, key.name: "C1S1", key.usr: "s:4cake2C1C0B2S1V", key.offset: 373, key.length: 50, key.fully_annotated_decl: "struct C1S1", key.entities: [ { key.kind: source.lang.swift.decl.function.method.instance, key.name: "C1S1foo(a:)", key.usr: "s:4cake2C1C0B2S1V0B5S1fooyAA2P4_p1a_tF", key.offset: 396, key.length: 21, key.fully_annotated_decl: "func C1S1foo(a: P4)", key.entities: [ { key.kind: source.lang.swift.decl.var.local, key.keyword: "a", key.name: "a", key.offset: 414, key.length: 2 } ] } ] } ] }, { key.kind: source.lang.swift.decl.class, key.name: "C2", key.usr: "s:4cake2C2C", key.offset: 427, key.length: 172, key.fully_annotated_decl: "class C2 : C1", key.inherits: [ { key.kind: source.lang.swift.ref.class, key.name: "C1", key.usr: "s:4cake2C1C" } ], key.entities: [ { key.kind: source.lang.swift.decl.function.method.instance, key.name: "C2foo()", key.usr: "s:4cake2C2C5C2fooyyF", key.offset: 453, key.length: 12, key.fully_annotated_decl: "func C2foo()" }, { key.kind: source.lang.swift.decl.enum, key.name: "C1Cases", key.usr: "s:4cake2C1C0B5CasesO::SYNTHESIZED::s:4cake2C2C", key.original_usr: "s:4cake2C1C0B5CasesO", key.offset: 471, key.length: 46, key.fully_annotated_decl: "enum C1Cases : Int", key.inherits: [ { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si" } ], key.entities: [ { key.kind: source.lang.swift.decl.enumelement, key.name: "case1", key.usr: "s:4cake2C1C0B5CasesO5case1A2EmF", key.offset: 501, key.length: 10, key.fully_annotated_decl: "case case1" } ] }, { key.kind: source.lang.swift.decl.function.method.instance, key.name: "extfoo()", key.usr: "s:4cake4ProtPA2aBRzSi7ElementRtzlE6extfooyyF::SYNTHESIZED::s:4cake2C2C", key.original_usr: "s:4cake4ProtPA2aBRzSi7ElementRtzlE6extfooyyF", key.offset: 523, key.length: 13, key.fully_annotated_decl: "func extfoo()" }, { key.kind: source.lang.swift.decl.function.method.instance, key.name: "foo1()", key.usr: "s:4cake4ProtPAAE4foo1yyF::SYNTHESIZED::s:4cake2C2C", key.original_usr: "s:4cake4ProtPAAE4foo1yyF", key.offset: 542, key.length: 11, key.fully_annotated_decl: "func foo1()" }, { key.kind: source.lang.swift.decl.function.subscript, key.name: "subscript(_:)", key.usr: "s:4cake4ProtPAAES2icip::SYNTHESIZED::s:4cake2C2C", key.original_usr: "s:4cake4ProtPAAES2icip", key.offset: 559, key.length: 38, key.fully_annotated_decl: "subscript(index: Int) -> Int { get }", key.entities: [ { key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "index", key.offset: 578, key.length: 3 } ] } ] }, { key.kind: source.lang.swift.decl.extension.class, key.offset: 601, key.length: 95, key.conforms: [ { key.kind: source.lang.swift.ref.protocol, key.name: "P4", key.usr: "s:4cake2P4P" } ], key.extends: { key.kind: source.lang.swift.ref.class, key.name: "C2", key.usr: "s:4cake2C2C" }, key.entities: [ { key.kind: source.lang.swift.decl.function.method.instance, key.name: "C1foo()", key.usr: "s:4cake2C1C5C1fooyyF::SYNTHESIZED::s:4cake2C2C", key.original_usr: "s:4cake2C1C5C1fooyyF", key.offset: 626, key.length: 12, key.fully_annotated_decl: "func C1foo()" }, { key.kind: source.lang.swift.decl.struct, key.name: "C1S1", key.usr: "s:4cake2C1C0B2S1V::SYNTHESIZED::s:4cake2C2C", key.original_usr: "s:4cake2C1C0B2S1V", key.offset: 644, key.length: 50, key.fully_annotated_decl: "struct C1S1", key.entities: [ { key.kind: source.lang.swift.decl.function.method.instance, key.name: "C1S1foo(a:)", key.usr: "s:4cake2C1C0B2S1V0B5S1fooyAA2P4_p1a_tF", key.offset: 667, key.length: 21, key.fully_annotated_decl: "func C1S1foo(a: P4)", key.entities: [ { key.kind: source.lang.swift.decl.var.local, key.keyword: "a", key.name: "a", key.offset: 685, key.length: 2 } ] } ] } ] }, { key.kind: source.lang.swift.decl.enum, key.name: "MyEnum", key.usr: "s:4cake6MyEnumO", key.offset: 698, key.length: 36, key.fully_annotated_decl: "enum MyEnum : Int", key.inherits: [ { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si" } ], key.entities: [ { key.kind: source.lang.swift.decl.enumelement, key.name: "Blah", key.usr: "s:4cake6MyEnumO4BlahA2CmF", key.offset: 723, key.length: 9, key.fully_annotated_decl: "case Blah" } ] }, { key.kind: source.lang.swift.decl.protocol, key.name: "P2", key.usr: "c:@M@cake@objc(pl)P2", key.offset: 736, key.length: 53, key.fully_annotated_decl: "@objc protocol P2", key.entities: [ { key.kind: source.lang.swift.decl.function.method.instance, key.name: "foo1()", key.usr: "c:@M@cake@objc(pl)P2(im)foo1", key.offset: 761, key.length: 26, key.fully_annotated_decl: "@objc optional func foo1()", key.is_optional: 1 } ] }, { key.kind: source.lang.swift.decl.protocol, key.name: "P3", key.usr: "s:4cake2P3P", key.offset: 791, key.length: 37, key.fully_annotated_decl: "protocol P3", key.entities: [ { key.kind: source.lang.swift.decl.associatedtype, key.name: "T", key.usr: "s:4cake2P3P1T", key.offset: 810, key.length: 16, key.fully_annotated_decl: "associatedtype T" } ] }, { key.kind: source.lang.swift.decl.protocol, key.name: "P4", key.usr: "s:4cake2P4P", key.offset: 830, key.length: 15, key.fully_annotated_decl: "protocol P4" }, { key.kind: source.lang.swift.decl.protocol, key.name: "Prot", key.usr: "s:4cake4ProtP", key.offset: 847, key.length: 102, key.fully_annotated_decl: "protocol Prot", key.entities: [ { key.kind: source.lang.swift.decl.associatedtype, key.name: "Element", key.usr: "s:4cake4ProtP7Element", key.offset: 868, key.length: 22, key.fully_annotated_decl: "associatedtype Element" }, { key.kind: source.lang.swift.decl.var.instance, key.name: "p", key.usr: "s:4cake4ProtP1pSivp", key.offset: 896, key.length: 18, key.fully_annotated_decl: "var p: Int { get }" }, { key.kind: source.lang.swift.decl.function.method.instance, key.name: "foo()", key.usr: "s:4cake4ProtP3fooyyF", key.offset: 920, key.length: 10, key.fully_annotated_decl: "func foo()" }, { key.kind: source.lang.swift.decl.function.method.instance, key.name: "foo1()", key.usr: "s:4cake4ProtP4foo1yyF", key.offset: 936, key.length: 11, key.fully_annotated_decl: "func foo1()" } ] }, { key.kind: source.lang.swift.decl.extension.protocol, key.offset: 951, key.length: 79, key.extends: { key.kind: source.lang.swift.ref.protocol, key.name: "Prot", key.usr: "s:4cake4ProtP" }, key.entities: [ { key.kind: source.lang.swift.decl.function.method.instance, key.name: "foo1()", key.usr: "s:4cake4ProtPAAE4foo1yyF", key.default_implementation_of: "s:4cake4ProtP4foo1yyF", key.offset: 973, key.length: 11, key.fully_annotated_decl: "func foo1()" }, { key.kind: source.lang.swift.decl.function.subscript, key.name: "subscript(_:)", key.usr: "s:4cake4ProtPAAES2icip", key.offset: 990, key.length: 38, key.fully_annotated_decl: "subscript(index: Int) -> Int { get }", key.entities: [ { key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "index", key.offset: 1009, key.length: 3 } ] } ] }, { key.kind: source.lang.swift.decl.extension.protocol, key.generic_requirements: [ { key.description: "Self.Element == Int" } ], key.offset: 1032, key.length: 63, key.extends: { key.kind: source.lang.swift.ref.protocol, key.name: "Prot", key.usr: "s:4cake4ProtP" }, key.entities: [ { key.kind: source.lang.swift.decl.function.method.instance, key.name: "extfoo()", key.usr: "s:4cake4ProtPA2aBRzSi7ElementRtzlE6extfooyyF", key.offset: 1080, key.length: 13, key.fully_annotated_decl: "func extfoo()" } ] }, { key.kind: source.lang.swift.decl.struct, key.name: "S1", key.usr: "s:4cake2S1V", key.offset: 1097, key.length: 142, key.fully_annotated_decl: "struct S1", key.entities: [ { key.kind: source.lang.swift.decl.enum, key.name: "SE", key.usr: "s:4cake2S1V2SEO", key.offset: 1114, key.length: 63, key.fully_annotated_decl: "enum S1.SE", key.entities: [ { key.kind: source.lang.swift.decl.enumelement, key.name: "a", key.usr: "s:4cake2S1V2SEO1aA2EmF", key.offset: 1133, key.length: 6, key.fully_annotated_decl: "case a" }, { key.kind: source.lang.swift.decl.enumelement, key.name: "b", key.usr: "s:4cake2S1V2SEO1bA2EmF", key.offset: 1149, key.length: 6, key.fully_annotated_decl: "case b" }, { key.kind: source.lang.swift.decl.enumelement, key.name: "c", key.usr: "s:4cake2S1V2SEO1cA2EmF", key.offset: 1165, key.length: 6, key.fully_annotated_decl: "case c" } ] }, { key.kind: source.lang.swift.decl.function.method.instance, key.name: "foo1()", key.usr: "s:4cake2S1V4foo1yyF", key.offset: 1183, key.length: 11, key.fully_annotated_decl: "func foo1()" }, { key.kind: source.lang.swift.decl.struct, key.name: "S2", key.usr: "s:4cake2S1V2S2V", key.offset: 1200, key.length: 37, key.fully_annotated_decl: "struct S2", key.entities: [ { key.kind: source.lang.swift.decl.var.instance, key.name: "b", key.usr: "s:4cake2S1V2S2V1bSivp", key.offset: 1221, key.length: 10, key.fully_annotated_decl: "let b: Int" } ] } ] }, { key.kind: source.lang.swift.decl.struct, key.name: "S2", key.usr: "s:4cake2S2V", key.offset: 1241, key.length: 45, key.fully_annotated_decl: "struct S2 : P3", key.conforms: [ { key.kind: source.lang.swift.ref.protocol, key.name: "P3", key.usr: "s:4cake2P3P" } ], key.entities: [ { key.kind: source.lang.swift.decl.typealias, key.name: "T", key.usr: "s:4cake2S2V1Ta", key.offset: 1263, key.length: 21, key.fully_annotated_decl: "typealias S2.T = S2", key.conforms: [ { key.kind: source.lang.swift.ref.protocol, key.name: "P3", key.usr: "s:4cake2P3P" } ] } ] }, { key.kind: source.lang.swift.decl.function.free, key.name: "genfoo(x:y:)", key.usr: "s:4cake6genfooyx1x_q_1ytAA4ProtRzAA2C1CRb_Si7ElementRtzr0_lF", key.generic_params: [ { key.name: "T1" }, { key.name: "T2" } ], key.generic_requirements: [ { key.description: "T1 : Prot" }, { key.description: "T2 : C1" }, { key.description: "T1.Element == C1.Element" } ], key.offset: 1288, key.length: 100, key.fully_annotated_decl: "func genfoo<T1, T2>(x ix: T1, y iy: T2) where T1 : Prot, T2 : C1, T1.Element == C1.Element", key.entities: [ { key.kind: source.lang.swift.decl.var.local, key.keyword: "x", key.name: "ix", key.offset: 1314, key.length: 2 }, { key.kind: source.lang.swift.decl.var.local, key.keyword: "y", key.name: "iy", key.offset: 1324, key.length: 2 } ] } ]