import SwiftOnoneSupport 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 : 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 { func fooConstraint() } protocol P3 { func p3Required() } extension Dictionary.Keys where Key : Hashable { func foo() } [ { 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: 8 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 35, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 45, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 50, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 62, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 66, key.length: 3 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", key.offset: 71, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 77, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 81, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 92, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 97, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.argument, key.offset: 102, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, key.offset: 104, key.length: 1 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", key.offset: 107, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.argument, key.offset: 112, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, key.offset: 114, key.length: 1 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", key.offset: 117, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 127, key.length: 9 }, { key.kind: source.lang.swift.syntaxtype.argument, key.offset: 137, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, key.offset: 139, key.length: 1 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", key.offset: 142, key.length: 3 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", key.offset: 150, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 156, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 160, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 171, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 176, key.length: 13 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 195, key.length: 8 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 204, key.length: 2 }, { key.kind: source.lang.swift.ref.protocol, key.name: "P1", key.usr: "s:5cake12P1P", key.offset: 209, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 219, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 224, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 236, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 241, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 251, key.length: 9 }, { key.kind: source.lang.swift.ref.protocol, key.name: "P2", key.usr: "s:5cake12P2P", key.offset: 261, key.length: 2 }, { 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: 3 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 292, key.length: 3 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", key.offset: 297, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 306, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 311, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.argument, key.offset: 316, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, key.offset: 318, key.length: 1 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", key.offset: 321, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.argument, key.offset: 326, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, key.offset: 328, key.length: 1 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", key.offset: 331, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 341, key.length: 9 }, { key.kind: source.lang.swift.syntaxtype.argument, key.offset: 351, key.length: 1 }, { key.kind: source.lang.swift.syntaxtype.parameter, key.offset: 353, key.length: 1 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", key.offset: 356, key.length: 3 }, { key.kind: source.lang.swift.ref.struct, key.name: "Int", key.usr: "s:Si", key.offset: 364, key.length: 3 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 371, key.length: 9 }, { key.kind: source.lang.swift.ref.protocol, key.name: "P2", key.usr: "s:5cake12P2P", key.offset: 381, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 391, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 396, key.length: 13 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 415, key.length: 8 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 424, key.length: 2 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 434, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 439, key.length: 10 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 455, key.length: 9 }, { key.kind: source.lang.swift.ref.struct, key.name: "Dictionary", key.usr: "s:s10DictionaryV", key.offset: 465, key.length: 10 }, { key.kind: source.lang.swift.ref.struct, key.name: "Keys", key.usr: "s:s10DictionaryV4KeysV", key.offset: 476, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 481, key.length: 5 }, { key.kind: source.lang.swift.syntaxtype.typeidentifier, key.offset: 487, key.length: 3 }, { key.kind: source.lang.swift.ref.protocol, key.name: "Hashable", key.usr: "s:s8HashableP", key.offset: 493, key.length: 8 }, { key.kind: source.lang.swift.syntaxtype.keyword, key.offset: 509, key.length: 4 }, { key.kind: source.lang.swift.syntaxtype.identifier, key.offset: 514, key.length: 3 } ] [ { key.kind: source.lang.swift.decl.protocol, key.name: "P1", key.usr: "s:5cake12P1P", key.offset: 26, 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: 45, 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: 62, 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: 92, 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: 107, key.length: 3 }, { key.kind: source.lang.swift.decl.var.local, key.keyword: "b", key.name: "b", key.offset: 117, key.length: 3 } ] }, { key.kind: source.lang.swift.decl.function.subscript, key.name: "subscript(_:)", key.usr: "s:5cake12P1PyS2icip", key.offset: 127, 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: 142, key.length: 3 } ] }, { key.kind: source.lang.swift.decl.function.method.instance, key.name: "fooConstraint()", key.usr: "s:5cake12P1P13fooConstraintyyF", key.offset: 171, 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: 195, key.length: 54, 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: 219, 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: 236, key.length: 11, key.fully_annotated_decl: "func bar2()" } ] }, { key.kind: source.lang.swift.decl.extension.protocol, key.offset: 251, key.length: 118, 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: 271, 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: 288, 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: 306, 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: 321, key.length: 3 }, { key.kind: source.lang.swift.decl.var.local, key.keyword: "b", key.name: "b", key.offset: 331, 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: 341, 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: 356, key.length: 3 } ] } ] }, { key.kind: source.lang.swift.decl.extension.protocol, key.generic_requirements: [ { key.description: "Self : P3" } ], key.offset: 371, key.length: 42, 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: 391, 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: 415, 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: 434, 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: 455, key.length: 66, key.extends: { key.kind: source.lang.swift.ref.struct, key.name: "Keys", key.usr: "s:s10DictionaryV4KeysV" }, key.entities: [ { key.kind: source.lang.swift.decl.function.method.instance, key.name: "foo()", key.usr: "s:s10DictionaryV4KeysV5cake1E3fooyyF", key.offset: 509, key.length: 10, key.fully_annotated_decl: "func foo()" } ] } ]