import SwiftOnoneSupport class InitClassImpl : cake1.InitProto { required init(x x: Int) convenience init() } protocol InitProto { init(x x: Int) } extension InitProto { init() } struct InitStructImpl : cake1.InitProto { init(x x: Int) init() } protocol P1 { func foo1() var Ins: Int { get set } func foo2(a a: Int, b b: Int) subscript(_ a: Int) -> Int { get set } func fooConstraint() } protocol P2 : cake1.P1 { func bar1() func bar2() } extension P2 { func foo1() var Ins: Int func foo2(a a: Int, b b: Int) subscript(_ a: Int) -> Int } extension P2 where Self : cake1.P3 { func fooConstraint() } protocol P3 { func p3Required() } extension Dictionary.Keys { func foo() } extension Dictionary.Keys where Key : cake1.P1 { func bar() } [ { 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: 13 }, { key.kind: source.lang.swift.syntaxtype.typeidentifier, key.offset: 48, key.length: 5 }, { key.kind: source.lang.swift.ref.protocol, key.name: "InitProto", key.usr: "s:5cake19InitProtoP", key.offset: 54, key.length: 9 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, key.offset: 71, key.length: 8 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 80, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.argument, key.offset: 85, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, key.offset: 87, key.length: 1 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", key.offset: 90, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.attribute.builtin, key.offset: 100, key.length: 11 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 112, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 122, key.length: 8 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 131, key.length: 9 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 148, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.argument, key.offset: 153, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, key.offset: 155, key.length: 1 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", key.offset: 158, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 166, key.length: 9 }, { key.kind: source.lang.swift.ref.protocol, key.name: "InitProto", key.usr: "s:5cake19InitProtoP", key.offset: 176, key.length: 9 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 193, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 203, key.length: 6 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 210, key.length: 14 }, { key.kind: source.lang.swift.syntaxtype.typeidentifier, key.offset: 227, key.length: 5 }, { key.kind: source.lang.swift.ref.protocol, key.name: "InitProto", key.usr: "s:5cake19InitProtoP", key.offset: 233, key.length: 9 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 250, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.argument, key.offset: 255, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, key.offset: 257, key.length: 1 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", key.offset: 260, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 270, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 280, key.length: 8 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 289, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 299, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 304, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 316, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 320, key.length: 3 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", key.offset: 325, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 331, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 335, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 346, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 351, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.argument, key.offset: 356, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, key.offset: 358, key.length: 1 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", key.offset: 361, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.argument, key.offset: 366, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, key.offset: 368, key.length: 1 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", key.offset: 371, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 381, key.length: 9 }, { key.kind: source.lang.swift.syntaxtype.argument, key.offset: 391, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, key.offset: 393, key.length: 1 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", key.offset: 396, key.length: 3 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", key.offset: 404, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 410, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 414, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 425, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 430, key.length: 13 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 449, key.length: 8 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 458, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.typeidentifier, key.offset: 463, key.length: 5 }, { key.kind: source.lang.swift.ref.protocol, key.name: "P1", key.usr: "s:5cake12P1P", key.offset: 469, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 479, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 484, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 496, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 501, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 511, key.length: 9 }, { key.kind: source.lang.swift.ref.protocol, key.name: "P2", key.usr: "s:5cake12P2P", key.offset: 521, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 531, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 536, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 548, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 552, key.length: 3 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", key.offset: 557, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 566, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 571, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.argument, key.offset: 576, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, key.offset: 578, key.length: 1 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", key.offset: 581, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.argument, key.offset: 586, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, key.offset: 588, key.length: 1 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", key.offset: 591, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 601, key.length: 9 }, { key.kind: source.lang.swift.syntaxtype.argument, key.offset: 611, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, key.offset: 613, key.length: 1 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", key.offset: 616, key.length: 3 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", key.offset: 624, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 631, key.length: 9 }, { key.kind: source.lang.swift.ref.protocol, key.name: "P2", key.usr: "s:5cake12P2P", key.offset: 641, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 644, key.length: 5 }, { key.kind: source.lang.swift.ref.generic_type_param, key.name: "Self", key.usr: "s:5cake12P2PA2A2P3RzrlE4Selfxmfp", key.offset: 650, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.typeidentifier, key.offset: 657, key.length: 5 }, { key.kind: source.lang.swift.ref.protocol, key.name: "P3", key.usr: "s:5cake12P3P", key.offset: 663, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 673, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 678, key.length: 13 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 697, key.length: 8 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 706, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 716, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 721, key.length: 10 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 737, key.length: 9 }, { key.kind: source.lang.swift.ref.struct, key.name: "Dictionary", key.usr: "s:SD", key.offset: 747, key.length: 10 }, { key.kind: source.lang.swift.ref.struct, key.name: "Keys", key.usr: "s:SD4KeysV", key.offset: 758, key.length: 4 }, { 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: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 784, key.length: 9 }, { key.kind: source.lang.swift.ref.struct, key.name: "Dictionary", key.usr: "s:SD", key.offset: 794, key.length: 10 }, { key.kind: source.lang.swift.ref.struct, key.name: "Keys", key.usr: "s:SD4KeysV", key.offset: 805, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 810, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.typeidentifier, key.offset: 816, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.typeidentifier, key.offset: 822, key.length: 5 }, { key.kind: source.lang.swift.ref.protocol, key.name: "P1", key.usr: "s:5cake12P1P", key.offset: 828, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 838, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 843, key.length: 3 } ] [ { key.kind: source.lang.swift.decl.class, key.name: "InitClassImpl", key.usr: "s:5cake113InitClassImplC", key.offset: 26, key.length: 94, key.fully_annotated_decl: "class InitClassImpl : InitProto", key.conforms: [ { key.kind: source.lang.swift.ref.protocol, key.name: "InitProto", key.usr: "s:5cake19InitProtoP" } ], key.entities: [ { key.kind: source.lang.swift.decl.function.constructor, key.name: "init(x:)", key.usr: "s:5cake113InitClassImplC1xACSi_tcfc", key.offset: 71, key.length: 23, key.fully_annotated_decl: "required init(x: Int)", key.conforms: [ { key.kind: source.lang.swift.ref.function.constructor, key.name: "init(x:)", key.usr: "s:5cake19InitProtoP1xxSi_tcfc" } ], key.entities: [ { key.kind: source.lang.swift.decl.var.local, key.keyword: "x", key.name: "x", key.offset: 90, key.length: 3 } ] }, { key.kind: source.lang.swift.decl.function.constructor, key.name: "init()", key.usr: "s:5cake19InitProtoPAAExycfc::SYNTHESIZED::s:5cake113InitClassImplC", key.original_usr: "s:5cake19InitProtoPAAExycfc", key.offset: 100, key.length: 18, key.fully_annotated_decl: "convenience init()" } ] }, { key.kind: source.lang.swift.decl.protocol, key.name: "InitProto", key.usr: "s:5cake19InitProtoP", key.offset: 122, key.length: 42, key.fully_annotated_decl: "protocol InitProto", key.entities: [ { key.kind: source.lang.swift.decl.function.constructor, key.name: "init(x:)", key.usr: "s:5cake19InitProtoP1xxSi_tcfc", key.offset: 148, key.length: 14, key.fully_annotated_decl: "init(x: Int)", key.entities: [ { key.kind: source.lang.swift.decl.var.local, key.keyword: "x", key.name: "x", key.offset: 158, key.length: 3 } ] } ] }, { key.kind: source.lang.swift.decl.extension.protocol, key.offset: 166, key.length: 35, key.fully_annotated_decl: "extension InitProto", key.extends: { key.kind: source.lang.swift.ref.protocol, key.name: "InitProto", key.usr: "s:5cake19InitProtoP" }, key.entities: [ { key.kind: source.lang.swift.decl.function.constructor, key.name: "init()", key.usr: "s:5cake19InitProtoPAAExycfc", key.offset: 193, key.length: 6, key.fully_annotated_decl: "init()" } ] }, { key.kind: source.lang.swift.decl.struct, key.name: "InitStructImpl", key.usr: "s:5cake114InitStructImplV", key.offset: 203, key.length: 75, key.fully_annotated_decl: "struct InitStructImpl : InitProto", key.conforms: [ { key.kind: source.lang.swift.ref.protocol, key.name: "InitProto", key.usr: "s:5cake19InitProtoP" } ], key.entities: [ { key.kind: source.lang.swift.decl.function.constructor, key.name: "init(x:)", key.usr: "s:5cake114InitStructImplV1xACSi_tcfc", key.offset: 250, key.length: 14, key.fully_annotated_decl: "init(x: Int)", key.conforms: [ { key.kind: source.lang.swift.ref.function.constructor, key.name: "init(x:)", key.usr: "s:5cake19InitProtoP1xxSi_tcfc" } ], key.entities: [ { key.kind: source.lang.swift.decl.var.local, key.keyword: "x", key.name: "x", key.offset: 260, key.length: 3 } ] }, { key.kind: source.lang.swift.decl.function.constructor, key.name: "init()", key.usr: "s:5cake19InitProtoPAAExycfc::SYNTHESIZED::s:5cake114InitStructImplV", key.original_usr: "s:5cake19InitProtoPAAExycfc", key.offset: 270, key.length: 6, key.fully_annotated_decl: "init()" } ] }, { key.kind: source.lang.swift.decl.protocol, key.name: "P1", key.usr: "s:5cake12P1P", key.offset: 280, key.length: 167, key.fully_annotated_decl: "protocol P1", key.entities: [ { key.kind: source.lang.swift.decl.function.method.instance, key.name: "foo1()", key.usr: "s:5cake12P1P4foo1yyF", key.offset: 299, key.length: 11, key.fully_annotated_decl: "func foo1()" }, { key.kind: source.lang.swift.decl.var.instance, key.name: "Ins", key.usr: "s:5cake12P1P3InsSivp", key.offset: 316, key.length: 24, key.fully_annotated_decl: "var Ins: Int { get set }" }, { key.kind: source.lang.swift.decl.function.method.instance, key.name: "foo2(a:b:)", key.usr: "s:5cake12P1P4foo21a1bySi_SitF", key.offset: 346, key.length: 29, key.fully_annotated_decl: "func foo2(a: Int, b: Int)", key.entities: [ { key.kind: source.lang.swift.decl.var.local, key.keyword: "a", key.name: "a", key.offset: 361, key.length: 3 }, { key.kind: source.lang.swift.decl.var.local, key.keyword: "b", key.name: "b", key.offset: 371, key.length: 3 } ] }, { key.kind: source.lang.swift.decl.function.subscript, key.name: "subscript(_:)", key.usr: "s:5cake12P1PyS2icip", key.offset: 381, key.length: 38, key.fully_annotated_decl: "subscript(a: Int) -> Int { get set }", key.entities: [ { key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "a", key.offset: 396, key.length: 3 } ] }, { key.kind: source.lang.swift.decl.function.method.instance, key.name: "fooConstraint()", key.usr: "s:5cake12P1P13fooConstraintyyF", key.offset: 425, key.length: 20, key.fully_annotated_decl: "func fooConstraint()" } ] }, { key.kind: source.lang.swift.decl.protocol, key.name: "P2", key.usr: "s:5cake12P2P", key.offset: 449, key.length: 60, key.fully_annotated_decl: "protocol P2 : P1", key.conforms: [ { key.kind: source.lang.swift.ref.protocol, key.name: "P1", key.usr: "s:5cake12P1P" } ], key.entities: [ { key.kind: source.lang.swift.decl.function.method.instance, key.name: "bar1()", key.usr: "s:5cake12P2P4bar1yyF", key.offset: 479, key.length: 11, key.fully_annotated_decl: "func bar1()" }, { key.kind: source.lang.swift.decl.function.method.instance, key.name: "bar2()", key.usr: "s:5cake12P2P4bar2yyF", key.offset: 496, key.length: 11, key.fully_annotated_decl: "func bar2()" } ] }, { key.kind: source.lang.swift.decl.extension.protocol, key.offset: 511, key.length: 118, key.fully_annotated_decl: "extension P2", key.extends: { key.kind: source.lang.swift.ref.protocol, key.name: "P2", key.usr: "s:5cake12P2P" }, key.entities: [ { key.kind: source.lang.swift.decl.function.method.instance, key.name: "foo1()", key.usr: "s:5cake12P2PAAE4foo1yyF", key.default_implementation_of: "s:5cake12P1P4foo1yyF", key.offset: 531, key.length: 11, key.fully_annotated_decl: "func foo1()" }, { key.kind: source.lang.swift.decl.var.instance, key.name: "Ins", key.usr: "s:5cake12P2PAAE3InsSivp", key.default_implementation_of: "s:5cake12P1P3InsSivp", key.offset: 548, key.length: 12, key.fully_annotated_decl: "var Ins: Int { get set }" }, { key.kind: source.lang.swift.decl.function.method.instance, key.name: "foo2(a:b:)", key.usr: "s:5cake12P2PAAE4foo21a1bySi_SitF", key.default_implementation_of: "s:5cake12P1P4foo21a1bySi_SitF", key.offset: 566, key.length: 29, key.fully_annotated_decl: "func foo2(a: Int, b: Int)", key.entities: [ { key.kind: source.lang.swift.decl.var.local, key.keyword: "a", key.name: "a", key.offset: 581, key.length: 3 }, { key.kind: source.lang.swift.decl.var.local, key.keyword: "b", key.name: "b", key.offset: 591, key.length: 3 } ] }, { key.kind: source.lang.swift.decl.function.subscript, key.name: "subscript(_:)", key.usr: "s:5cake12P2PAAEyS2icip", key.default_implementation_of: "s:5cake12P1PyS2icip", key.offset: 601, key.length: 26, key.fully_annotated_decl: "subscript(a: Int) -> Int { get set }", key.entities: [ { key.kind: source.lang.swift.decl.var.local, key.keyword: "_", key.name: "a", key.offset: 616, key.length: 3 } ] } ] }, { key.kind: source.lang.swift.decl.extension.protocol, key.generic_requirements: [ { key.description: "Self : P3" } ], key.offset: 631, key.length: 64, key.fully_annotated_decl: "extension P2 where Self : P3", key.extends: { key.kind: source.lang.swift.ref.protocol, key.name: "P2", key.usr: "s:5cake12P2P" }, key.entities: [ { key.kind: source.lang.swift.decl.function.method.instance, key.name: "fooConstraint()", key.usr: "s:5cake12P2PA2A2P3RzrlE13fooConstraintyyF", key.default_implementation_of: "s:5cake12P1P13fooConstraintyyF", key.offset: 673, key.length: 20, key.fully_annotated_decl: "func fooConstraint()" } ] }, { key.kind: source.lang.swift.decl.protocol, key.name: "P3", key.usr: "s:5cake12P3P", key.offset: 697, key.length: 38, key.fully_annotated_decl: "protocol P3", key.entities: [ { key.kind: source.lang.swift.decl.function.method.instance, key.name: "p3Required()", key.usr: "s:5cake12P3P10p3RequiredyyF", key.offset: 716, key.length: 17, key.fully_annotated_decl: "func p3Required()" } ] }, { key.kind: source.lang.swift.decl.extension.struct, key.generic_params: [ { key.name: "Key" }, { key.name: "Value" } ], key.generic_requirements: [ { key.description: "Key : Hashable" } ], key.offset: 737, key.length: 45, key.fully_annotated_decl: "extension Dictionary.Keys", key.extends: { key.kind: source.lang.swift.ref.struct, key.name: "Keys", key.usr: "s:SD4KeysV" }, key.entities: [ { key.kind: source.lang.swift.decl.function.method.instance, key.name: "foo()", key.usr: "s:SD4KeysV5cake1E3fooyyF", key.offset: 770, key.length: 10, key.fully_annotated_decl: "func foo()" } ] }, { key.kind: source.lang.swift.decl.extension.struct, key.generic_requirements: [ { key.description: "Key : Hashable" }, { key.description: "Key : P1" } ], key.offset: 784, key.length: 66, key.fully_annotated_decl: "extension Dictionary.Keys where Key : P1", key.extends: { key.kind: source.lang.swift.ref.struct, key.name: "Keys", key.usr: "s:SD4KeysV" }, key.entities: [ { key.kind: source.lang.swift.decl.function.method.instance, key.name: "bar()", key.usr: "s:SD4KeysV5cake1AC2P1RzrlE3baryyF", key.offset: 838, key.length: 10, key.fully_annotated_decl: "func bar()" } ] } ]