import SwiftOnoneSupport class C1 : Prot { typealias Element = Int var p: Int func foo() func foo1(i0 i0: Int, i1 i1: Int) 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) } } extension C1.C1Cases { @inlinable var hashValue: Int { get } @inlinable func hash(into hasher: inout Hasher) static func != (_ lhs: C1.C1Cases, _ rhs: C1.C1Cases) -> Bool } 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 @inlinable var hashValue: Int { get } @inlinable func hash(into hasher: inout Hasher) static func != (_ lhs: MyEnum, _ rhs: MyEnum) -> Bool } @objc protocol P2 { @objc optional func foo1() } protocol P3 { associatedtype T } protocol P4 { } protocol P5 { associatedtype Element } protocol P6 : P5 { } extension P6 { var null: Self.Element? { get } } 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 } } extension S1.SE { static func != (_ lhs: S1.SE, _ rhs: S1.SE) -> Bool } struct S2 : P3 { typealias T = cake.S2 } struct S3 : P5 where Wrapped : P5 { typealias Element = Wrapped.Element } extension S3 { var null: Wrapped.Element? { get } } func genfoo(x ix: T1, y iy: T2) where T1 : Prot, T2 : cake.C1, T1.Element == Int [ { 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: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 115, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.argument, key.offset: 120, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.parameter, key.offset: 123, key.length: 2 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", key.offset: 127, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.argument, key.offset: 132, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.parameter, key.offset: 135, key.length: 2 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", key.offset: 139, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 149, key.length: 9 }, { key.kind: source.lang.swift.syntaxtype.argument, key.offset: 159, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, key.offset: 161, key.length: 5 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", key.offset: 168, key.length: 3 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", key.offset: 176, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 182, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 193, key.length: 9 }, { key.kind: source.lang.swift.syntaxtype.argument, key.offset: 203, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.parameter, key.offset: 209, key.length: 1 }, { key.kind: source.lang.swift.ref.struct, key.name: "Float", key.usr: "s:Sf", key.offset: 212, key.length: 5 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", key.offset: 222, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 228, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 239, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 244, key.length: 7 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", key.offset: 254, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 269, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 274, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 291, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 296, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 310, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 315, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 327, key.length: 9 }, { key.kind: source.lang.swift.syntaxtype.argument, key.offset: 337, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, key.offset: 339, key.length: 5 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", key.offset: 346, key.length: 3 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", key.offset: 354, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 360, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 369, key.length: 9 }, { key.kind: source.lang.swift.ref.class, key.name: "C1", key.usr: "s:4cake2C1C", key.offset: 379, key.length: 2 }, { key.kind: source.lang.swift.ref.protocol, key.name: "P4", key.usr: "s:4cake2P4P", key.offset: 384, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 394, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 399, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 412, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 419, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 435, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 440, key.length: 7 }, { key.kind: source.lang.swift.syntaxtype.argument, key.offset: 448, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, key.offset: 450, key.length: 1 }, { key.kind: source.lang.swift.ref.protocol, key.name: "P4", key.usr: "s:4cake2P4P", key.offset: 453, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 466, key.length: 9 }, { key.kind: source.lang.swift.ref.class, key.name: "C1", key.usr: "s:4cake2C1C", key.offset: 476, key.length: 2 }, { key.kind: source.lang.swift.ref.enum, key.name: "C1Cases", key.usr: "s:4cake2C1C0B5CasesO", key.offset: 479, key.length: 7 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, key.offset: 494, key.length: 10 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 505, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 509, key.length: 9 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", key.offset: 520, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 526, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, key.offset: 537, key.length: 10 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 548, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 553, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.argument, key.offset: 558, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.parameter, key.offset: 563, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 571, key.length: 5 }, { key.kind: source.lang.swift.ref.struct, key.name: "Hasher", key.usr: "s:s6HasherV", key.offset: 577, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 590, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 597, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.argument, key.offset: 606, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, key.offset: 608, key.length: 3 }, { key.kind: source.lang.swift.ref.class, key.name: "C1", key.usr: "s:4cake2C1C", key.offset: 613, key.length: 2 }, { key.kind: source.lang.swift.ref.enum, key.name: "C1Cases", key.usr: "s:4cake2C1C0B5CasesO", key.offset: 616, key.length: 7 }, { key.kind: source.lang.swift.syntaxtype.argument, key.offset: 625, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, key.offset: 627, key.length: 3 }, { key.kind: source.lang.swift.ref.class, key.name: "C1", key.usr: "s:4cake2C1C", key.offset: 632, key.length: 2 }, { key.kind: source.lang.swift.ref.enum, key.name: "C1Cases", key.usr: "s:4cake2C1C0B5CasesO", key.offset: 635, key.length: 7 }, { key.kind: source.lang.swift.ref.struct, key.name: "Bool", key.usr: "s:Sb", key.offset: 647, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 655, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 661, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.typeidentifier, key.offset: 666, key.length: 4 }, { key.kind: source.lang.swift.ref.class, key.name: "C1", key.usr: "s:4cake2C1C", key.offset: 671, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 681, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 686, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 699, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 704, key.length: 7 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", key.offset: 714, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 729, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 734, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 751, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 756, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 770, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 775, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 787, key.length: 9 }, { key.kind: source.lang.swift.syntaxtype.argument, key.offset: 797, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, key.offset: 799, key.length: 5 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", key.offset: 806, key.length: 3 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", key.offset: 814, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 820, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 829, key.length: 9 }, { key.kind: source.lang.swift.ref.class, key.name: "C2", key.usr: "s:4cake2C2C", key.offset: 839, key.length: 2 }, { key.kind: source.lang.swift.ref.protocol, key.name: "P4", key.usr: "s:4cake2P4P", key.offset: 844, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 854, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 859, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 872, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 879, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 895, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 900, key.length: 7 }, { key.kind: source.lang.swift.syntaxtype.argument, key.offset: 908, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, key.offset: 910, key.length: 1 }, { key.kind: source.lang.swift.ref.protocol, key.name: "P4", key.usr: "s:4cake2P4P", key.offset: 913, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 926, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 931, key.length: 6 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", key.offset: 940, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 951, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 956, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, key.offset: 966, key.length: 10 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 977, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 981, key.length: 9 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", key.offset: 992, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 998, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, key.offset: 1009, key.length: 10 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 1020, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 1025, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.argument, key.offset: 1030, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.parameter, key.offset: 1035, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 1043, key.length: 5 }, { key.kind: source.lang.swift.ref.struct, key.name: "Hasher", key.usr: "s:s6HasherV", key.offset: 1049, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 1062, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 1069, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.argument, key.offset: 1078, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, key.offset: 1080, key.length: 3 }, { key.kind: source.lang.swift.ref.enum, key.name: "MyEnum", key.usr: "s:4cake6MyEnumO", key.offset: 1085, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.argument, key.offset: 1093, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, key.offset: 1095, key.length: 3 }, { key.kind: source.lang.swift.ref.enum, key.name: "MyEnum", key.usr: "s:4cake6MyEnumO", key.offset: 1100, key.length: 6 }, { key.kind: source.lang.swift.ref.struct, key.name: "Bool", key.usr: "s:Sb", key.offset: 1111, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, key.offset: 1119, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 1125, key.length: 8 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 1134, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, key.offset: 1144, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, key.offset: 1150, key.length: 8 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 1159, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 1164, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 1174, key.length: 8 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 1183, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 1193, key.length: 14 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 1208, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 1213, key.length: 8 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 1222, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 1230, key.length: 8 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 1239, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 1249, key.length: 14 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 1264, key.length: 7 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 1275, key.length: 8 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 1284, key.length: 2 }, { key.kind: source.lang.swift.ref.protocol, key.name: "P5", key.usr: "s:4cake2P5P", key.offset: 1289, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 1297, key.length: 9 }, { key.kind: source.lang.swift.ref.protocol, key.name: "P6", key.usr: "s:4cake2P6P", key.offset: 1307, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 1317, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 1321, key.length: 4 }, { key.kind: source.lang.swift.ref.generic_type_param, key.name: "Self", key.usr: "s:4cake2P6P4Selfxmfp", key.offset: 1327, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.typeidentifier, key.offset: 1332, key.length: 7 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 1343, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 1352, key.length: 8 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 1361, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 1373, key.length: 14 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 1388, key.length: 7 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 1401, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 1405, key.length: 1 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", key.offset: 1408, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 1414, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 1425, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 1430, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 1441, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 1446, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 1456, key.length: 9 }, { key.kind: source.lang.swift.ref.protocol, key.name: "Prot", key.usr: "s:4cake4ProtP", key.offset: 1466, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 1478, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 1483, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 1495, key.length: 9 }, { key.kind: source.lang.swift.syntaxtype.argument, key.offset: 1505, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, key.offset: 1507, key.length: 5 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", key.offset: 1514, key.length: 3 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", key.offset: 1522, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 1528, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 1537, key.length: 9 }, { key.kind: source.lang.swift.ref.protocol, key.name: "Prot", key.usr: "s:4cake4ProtP", key.offset: 1547, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 1552, key.length: 5 }, { key.kind: source.lang.swift.ref.generic_type_param, key.name: "Self", key.usr: "s:4cake4ProtPAASi7ElementRtzrlE4Selfxmfp", key.offset: 1558, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.typeidentifier, key.offset: 1563, key.length: 7 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", key.offset: 1574, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 1585, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 1590, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 1602, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 1609, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 1619, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 1624, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 1638, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 1643, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 1654, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 1659, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 1670, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 1675, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 1688, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 1693, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 1705, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 1712, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 1726, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 1730, key.length: 1 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", key.offset: 1733, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 1746, key.length: 9 }, { key.kind: source.lang.swift.ref.struct, key.name: "S1", key.usr: "s:4cake2S1V", key.offset: 1756, key.length: 2 }, { key.kind: source.lang.swift.ref.enum, key.name: "SE", key.usr: "s:4cake2S1V2SEO", key.offset: 1759, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 1769, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 1776, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.argument, key.offset: 1785, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, key.offset: 1787, key.length: 3 }, { key.kind: source.lang.swift.ref.struct, key.name: "S1", key.usr: "s:4cake2S1V", key.offset: 1792, key.length: 2 }, { key.kind: source.lang.swift.ref.enum, key.name: "SE", key.usr: "s:4cake2S1V2SEO", key.offset: 1795, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.argument, key.offset: 1799, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, key.offset: 1801, key.length: 3 }, { key.kind: source.lang.swift.ref.struct, key.name: "S1", key.usr: "s:4cake2S1V", key.offset: 1806, key.length: 2 }, { key.kind: source.lang.swift.ref.enum, key.name: "SE", key.usr: "s:4cake2S1V2SEO", key.offset: 1809, key.length: 2 }, { key.kind: source.lang.swift.ref.struct, key.name: "Bool", key.usr: "s:Sb", key.offset: 1816, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 1824, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 1831, key.length: 2 }, { key.kind: source.lang.swift.ref.protocol, key.name: "P3", key.usr: "s:4cake2P3P", key.offset: 1836, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 1846, key.length: 9 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 1856, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.typeidentifier, key.offset: 1860, key.length: 4 }, { key.kind: source.lang.swift.ref.struct, key.name: "S2", key.usr: "s:4cake2S2V", key.offset: 1865, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 1871, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 1878, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 1881, key.length: 7 }, { key.kind: source.lang.swift.ref.protocol, key.name: "P5", key.usr: "s:4cake2P5P", key.offset: 1892, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 1895, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.typeidentifier, key.offset: 1901, key.length: 7 }, { key.kind: source.lang.swift.ref.protocol, key.name: "P5", key.usr: "s:4cake2P5P", key.offset: 1911, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 1921, key.length: 9 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 1931, key.length: 7 }, { key.kind: source.lang.swift.syntaxtype.typeidentifier, key.offset: 1941, key.length: 7 }, { key.kind: source.lang.swift.syntaxtype.typeidentifier, key.offset: 1949, key.length: 7 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 1960, key.length: 9 }, { key.kind: source.lang.swift.ref.struct, key.name: "S3", key.usr: "s:4cake2S3V", key.offset: 1970, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 1980, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 1984, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.typeidentifier, key.offset: 1990, key.length: 7 }, { key.kind: source.lang.swift.syntaxtype.typeidentifier, key.offset: 1998, key.length: 7 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 2009, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 2018, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 2023, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 2030, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 2034, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.argument, key.offset: 2038, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, key.offset: 2040, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.typeidentifier, key.offset: 2044, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.argument, key.offset: 2048, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, key.offset: 2050, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.typeidentifier, key.offset: 2054, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 2058, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.typeidentifier, key.offset: 2064, key.length: 2 }, { key.kind: source.lang.swift.ref.protocol, key.name: "Prot", key.usr: "s:4cake4ProtP", key.offset: 2069, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.typeidentifier, key.offset: 2075, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.typeidentifier, key.offset: 2080, key.length: 4 }, { key.kind: source.lang.swift.ref.class, key.name: "C1", key.usr: "s:4cake2C1C", key.offset: 2085, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.typeidentifier, key.offset: 2089, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.typeidentifier, key.offset: 2092, key.length: 7 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", key.offset: 2103, key.length: 3 } ] [ { key.kind: source.lang.swift.decl.class, key.name: "C1", key.usr: "s:4cake2C1C", key.offset: 26, key.length: 341, 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:SZ" }, { 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.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.decl.function.method.instance, key.name: "foo1(i0:i1:)", key.usr: "s:4cake2C1C4foo12i02i1ySin_SihtF", key.offset: 110, key.length: 33, key.fully_annotated_decl: "func foo1(i0: Int, i1: Int)", key.entities: [ { key.kind: source.lang.swift.decl.var.local, key.keyword: "i0", key.name: "i0", key.offset: 127, key.length: 3 }, { key.kind: source.lang.swift.decl.var.local, key.keyword: "i1", key.name: "i1", key.offset: 139, key.length: 3 } ] }, { key.kind: source.lang.swift.decl.function.subscript, key.name: "subscript(_:)", key.usr: "s:4cake2C1CyS2icip", key.offset: 149, 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: 168, key.length: 3 } ] }, { key.kind: source.lang.swift.decl.function.subscript, key.name: "subscript(index:)", key.usr: "s:4cake2C1C5indexSiSf_tcip", key.offset: 193, 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: 212, key.length: 5 } ] }, { key.kind: source.lang.swift.decl.enum, key.name: "C1Cases", key.usr: "s:4cake2C1C0B5CasesO", key.offset: 239, 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:4cake2C1C0B5CasesO5case1yA2EmF", key.offset: 269, key.length: 10, key.fully_annotated_decl: "case case1" } ] }, { key.kind: source.lang.swift.decl.function.method.instance, key.name: "extfoo()", key.usr: "s:4cake4ProtPAASi7ElementRtzrlE6extfooyyF::SYNTHESIZED::s:4cake2C1C", key.original_usr: "s:4cake4ProtPAASi7ElementRtzrlE6extfooyyF", key.offset: 291, 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: 310, key.length: 11, key.fully_annotated_decl: "func foo1()" }, { key.kind: source.lang.swift.decl.function.subscript, key.name: "subscript(_:)", key.usr: "s:4cake4ProtPAAEyS2icip::SYNTHESIZED::s:4cake2C1C", key.original_usr: "s:4cake4ProtPAAEyS2icip", key.offset: 327, 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: 346, key.length: 3 } ] } ] }, { key.kind: source.lang.swift.decl.extension.class, key.offset: 369, 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: 394, 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: 412, 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:4cake2C1C0B2S1V0B5S1foo1ayAA2P4_p_tF", key.offset: 435, 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: 453, key.length: 2 } ] } ] } ] }, { key.kind: source.lang.swift.decl.extension.enum, key.generic_requirements: [ { key.description: "Self : Hashable" }, { key.description: "Self.RawValue : Hashable" } ], key.offset: 466, key.length: 187, key.fully_annotated_generic_signature: "<Self where Self : Hashable, Self : RawRepresentable, Self.RawValue : Hashable>", key.extends: { key.kind: source.lang.swift.ref.enum, key.name: "C1Cases", key.usr: "s:4cake2C1C0B5CasesO" }, key.entities: [ { key.kind: source.lang.swift.decl.var.instance, key.name: "hashValue", key.usr: "s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:4cake2C1C0B5CasesO", key.original_usr: "s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp", key.offset: 494, key.length: 37, key.fully_annotated_decl: "@inlinable var hashValue: Int { get }" }, { key.kind: source.lang.swift.decl.function.method.instance, key.name: "hash(into:)", key.usr: "s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::s:4cake2C1C0B5CasesO", key.original_usr: "s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF", key.offset: 537, key.length: 47, key.fully_annotated_decl: "@inlinable func hash(into hasher: inout Hasher)", key.entities: [ { key.kind: source.lang.swift.decl.var.local, key.keyword: "into", key.name: "hasher", key.offset: 577, key.length: 6 } ] }, { key.kind: source.lang.swift.decl.function.operator.infix, key.name: "!=(_:_:)", key.usr: "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:4cake2C1C0B5CasesO", key.original_usr: "s:SQsE2neoiySbx_xtFZ", key.offset: 590, key.length: 61, key.fully_annotated_decl: "static func != (lhs: C1.C1Cases, rhs: C1.C1Cases) -> Bool", key.entities: [ { key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "lhs", key.offset: 613, key.length: 10 }, { key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "rhs", key.offset: 632, key.length: 10 } ] } ] }, { key.kind: source.lang.swift.decl.class, key.name: "C2", key.usr: "s:4cake2C2C", key.offset: 655, 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: 681, 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: 699, 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:4cake2C1C0B5CasesO5case1yA2EmF", key.offset: 729, key.length: 10, key.fully_annotated_decl: "case case1" } ] }, { key.kind: source.lang.swift.decl.function.method.instance, key.name: "extfoo()", key.usr: "s:4cake4ProtPAASi7ElementRtzrlE6extfooyyF::SYNTHESIZED::s:4cake2C2C", key.original_usr: "s:4cake4ProtPAASi7ElementRtzrlE6extfooyyF", key.offset: 751, 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: 770, key.length: 11, key.fully_annotated_decl: "func foo1()" }, { key.kind: source.lang.swift.decl.function.subscript, key.name: "subscript(_:)", key.usr: "s:4cake4ProtPAAEyS2icip::SYNTHESIZED::s:4cake2C2C", key.original_usr: "s:4cake4ProtPAAEyS2icip", key.offset: 787, 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: 806, key.length: 3 } ] } ] }, { key.kind: source.lang.swift.decl.extension.class, key.offset: 829, 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: 854, 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: 872, 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:4cake2C1C0B2S1V0B5S1foo1ayAA2P4_p_tF", key.offset: 895, 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: 913, key.length: 2 } ] } ] } ] }, { key.kind: source.lang.swift.decl.enum, key.name: "MyEnum", key.usr: "s:4cake6MyEnumO", key.offset: 926, key.length: 191, 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:4cake6MyEnumO4BlahyA2CmF", key.offset: 951, key.length: 9, key.fully_annotated_decl: "case Blah" }, { key.kind: source.lang.swift.decl.var.instance, key.name: "hashValue", key.usr: "s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:4cake6MyEnumO", key.original_usr: "s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp", key.offset: 966, key.length: 37, key.fully_annotated_decl: "@inlinable var hashValue: Int { get }" }, { key.kind: source.lang.swift.decl.function.method.instance, key.name: "hash(into:)", key.usr: "s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::s:4cake6MyEnumO", key.original_usr: "s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF", key.offset: 1009, key.length: 47, key.fully_annotated_decl: "@inlinable func hash(into hasher: inout Hasher)", key.entities: [ { key.kind: source.lang.swift.decl.var.local, key.keyword: "into", key.name: "hasher", key.offset: 1049, key.length: 6 } ] }, { key.kind: source.lang.swift.decl.function.operator.infix, key.name: "!=(_:_:)", key.usr: "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:4cake6MyEnumO", key.original_usr: "s:SQsE2neoiySbx_xtFZ", key.offset: 1062, key.length: 53, key.fully_annotated_decl: "static func != (lhs: MyEnum, rhs: MyEnum) -> Bool", key.entities: [ { key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "lhs", key.offset: 1085, key.length: 6 }, { key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "rhs", key.offset: 1100, key.length: 6 } ] } ] }, { key.kind: source.lang.swift.decl.protocol, key.name: "P2", key.usr: "c:@M@cake@objc(pl)P2", key.offset: 1119, 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: 1144, 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: 1174, key.length: 37, key.fully_annotated_decl: "protocol P3", key.entities: [ { key.kind: source.lang.swift.decl.associatedtype, key.name: "T", key.usr: "s:4cake2P3P1TQa", key.offset: 1193, 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: 1213, key.length: 15, key.fully_annotated_decl: "protocol P4" }, { key.kind: source.lang.swift.decl.protocol, key.name: "P5", key.usr: "s:4cake2P5P", key.offset: 1230, key.length: 43, key.fully_annotated_decl: "protocol P5", key.entities: [ { key.kind: source.lang.swift.decl.associatedtype, key.name: "Element", key.usr: "s:4cake2P5P7ElementQa", key.offset: 1249, key.length: 22, key.fully_annotated_decl: "associatedtype Element" } ] }, { key.kind: source.lang.swift.decl.protocol, key.name: "P6", key.usr: "s:4cake2P6P", key.offset: 1275, key.length: 20, key.fully_annotated_decl: "protocol P6 : P5", key.conforms: [ { key.kind: source.lang.swift.ref.protocol, key.name: "P5", key.usr: "s:4cake2P5P" } ] }, { key.kind: source.lang.swift.decl.extension.protocol, key.offset: 1297, key.length: 53, key.fully_annotated_generic_signature: "<Self where Self : P6>", key.extends: { key.kind: source.lang.swift.ref.protocol, key.name: "P6", key.usr: "s:4cake2P6P" }, key.entities: [ { key.kind: source.lang.swift.decl.var.instance, key.name: "null", key.usr: "s:4cake2P6PAAE4null7ElementQzSgvp", key.offset: 1317, key.length: 31, key.fully_annotated_decl: "var null: Self.Element? { get }" } ] }, { key.kind: source.lang.swift.decl.protocol, key.name: "Prot", key.usr: "s:4cake4ProtP", key.offset: 1352, key.length: 102, key.fully_annotated_decl: "protocol Prot", key.entities: [ { key.kind: source.lang.swift.decl.associatedtype, key.name: "Element", key.usr: "s:4cake4ProtP7ElementQa", key.offset: 1373, 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: 1401, 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: 1425, 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: 1441, key.length: 11, key.fully_annotated_decl: "func foo1()" } ] }, { key.kind: source.lang.swift.decl.extension.protocol, key.offset: 1456, key.length: 79, key.fully_annotated_generic_signature: "<Self where Self : Prot>", 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: 1478, key.length: 11, key.fully_annotated_decl: "func foo1()" }, { key.kind: source.lang.swift.decl.function.subscript, key.name: "subscript(_:)", key.usr: "s:4cake4ProtPAAEyS2icip", key.offset: 1495, 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: 1514, key.length: 3 } ] } ] }, { key.kind: source.lang.swift.decl.extension.protocol, key.generic_requirements: [ { key.description: "Self.Element == Int" } ], key.offset: 1537, key.length: 63, key.fully_annotated_generic_signature: "<Self where Self : Prot, Self.Element == Int>", 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:4cake4ProtPAASi7ElementRtzrlE6extfooyyF", key.offset: 1585, 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: 1602, 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: 1619, 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:4cake2S1V2SEO1ayA2EmF", key.offset: 1638, key.length: 6, key.fully_annotated_decl: "case a" }, { key.kind: source.lang.swift.decl.enumelement, key.name: "b", key.usr: "s:4cake2S1V2SEO1byA2EmF", key.offset: 1654, key.length: 6, key.fully_annotated_decl: "case b" }, { key.kind: source.lang.swift.decl.enumelement, key.name: "c", key.usr: "s:4cake2S1V2SEO1cyA2EmF", key.offset: 1670, 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: 1688, 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: 1705, 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: 1726, key.length: 10, key.fully_annotated_decl: "let b: Int" } ] } ] }, { key.kind: source.lang.swift.decl.extension.enum, key.offset: 1746, key.length: 76, key.fully_annotated_generic_signature: "<Self where Self : Equatable>", key.extends: { key.kind: source.lang.swift.ref.enum, key.name: "SE", key.usr: "s:4cake2S1V2SEO" }, key.entities: [ { key.kind: source.lang.swift.decl.function.operator.infix, key.name: "!=(_:_:)", key.usr: "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:4cake2S1V2SEO", key.original_usr: "s:SQsE2neoiySbx_xtFZ", key.offset: 1769, key.length: 51, key.fully_annotated_decl: "static func != (lhs: S1.SE, rhs: S1.SE) -> Bool", key.entities: [ { key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "lhs", key.offset: 1792, key.length: 5 }, { key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "rhs", key.offset: 1806, key.length: 5 } ] } ] }, { key.kind: source.lang.swift.decl.struct, key.name: "S2", key.usr: "s:4cake2S2V", key.offset: 1824, 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: 1846, 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.struct, key.name: "S3", key.usr: "s:4cake2S3V", key.generic_params: [ { key.name: "Wrapped" } ], key.generic_requirements: [ { key.description: "Wrapped : P5" } ], key.offset: 1871, key.length: 87, key.fully_annotated_decl: "struct S3<Wrapped> : P5 where Wrapped : P5", key.conforms: [ { key.kind: source.lang.swift.ref.protocol, key.name: "P5", key.usr: "s:4cake2P5P" } ], key.entities: [ { key.kind: source.lang.swift.decl.typealias, key.name: "Element", key.usr: "s:4cake2S3V7Elementa", key.offset: 1921, key.length: 35, key.fully_annotated_decl: "typealias S3<Wrapped>.Element = Wrapped.Element", key.conforms: [ { key.kind: source.lang.swift.ref.associatedtype, key.name: "Element", key.usr: "s:4cake2P5P7ElementQa" } ] } ] }, { key.kind: source.lang.swift.decl.extension.struct, key.offset: 1960, key.length: 56, key.fully_annotated_generic_signature: "<Self where Self : P6>", key.extends: { key.kind: source.lang.swift.ref.struct, key.name: "S3", key.usr: "s:4cake2S3V" }, key.entities: [ { key.kind: source.lang.swift.decl.var.instance, key.name: "null", key.usr: "s:4cake2P6PAAE4null7ElementQzSgvp::SYNTHESIZED::s:4cake2S3V", key.original_usr: "s:4cake2P6PAAE4null7ElementQzSgvp", key.offset: 1980, key.length: 34, key.fully_annotated_decl: "var null: Wrapped.Element? { get }" } ] }, { key.kind: source.lang.swift.decl.function.free, key.name: "genfoo(x:y:)", key.usr: "s:4cake6genfoo1x1yyx_q_tAA4ProtRzAA2C1CRb_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 == Int" } ], key.offset: 2018, key.length: 88, key.fully_annotated_decl: "func genfoo<T1, T2>(x ix: T1, y iy: T2) where T1 : Prot, T2 : C1, T1.Element == Int", key.entities: [ { key.kind: source.lang.swift.decl.var.local, key.keyword: "x", key.name: "ix", key.offset: 2044, key.length: 2 }, { key.kind: source.lang.swift.decl.var.local, key.keyword: "y", key.name: "iy", key.offset: 2054, key.length: 2 } ] } ]