blob: 9de4a197ecdd03dea99e79bf9f843f2bb321f146 [file] [log] [blame]
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: "<decl.protocol><syntaxtype.keyword>protocol</syntaxtype.keyword> <decl.name>P1</decl.name></decl.protocol>",
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: "<decl.function.method.instance><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>foo1</decl.name>()</decl.function.method.instance>"
},
{
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: "<decl.var.instance><syntaxtype.keyword>var</syntaxtype.keyword> <decl.name>Ins</decl.name>: <decl.var.type><ref.struct usr=\"s:Si\">Int</ref.struct></decl.var.type> { <syntaxtype.keyword>get</syntaxtype.keyword> <syntaxtype.keyword>set</syntaxtype.keyword> }</decl.var.instance>"
},
{
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: "<decl.function.method.instance><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>foo2</decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>a</decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\"s:Si\">Int</ref.struct></decl.var.parameter.type></decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>b</decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\"s:Si\">Int</ref.struct></decl.var.parameter.type></decl.var.parameter>)</decl.function.method.instance>",
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: "<decl.function.subscript><syntaxtype.keyword>subscript</syntaxtype.keyword>(<decl.var.parameter><decl.var.parameter.name>a</decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\"s:Si\">Int</ref.struct></decl.var.parameter.type></decl.var.parameter>) -&gt; <decl.function.returntype><ref.struct usr=\"s:Si\">Int</ref.struct></decl.function.returntype> { <syntaxtype.keyword>get</syntaxtype.keyword> <syntaxtype.keyword>set</syntaxtype.keyword> }</decl.function.subscript>",
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: "<decl.function.method.instance><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>fooConstraint</decl.name>()</decl.function.method.instance>"
}
]
},
{
key.kind: source.lang.swift.decl.protocol,
key.name: "P2",
key.usr: "s:5cake12P2P",
key.offset: 195,
key.length: 54,
key.fully_annotated_decl: "<decl.protocol><syntaxtype.keyword>protocol</syntaxtype.keyword> <decl.name>P2</decl.name> : <ref.protocol usr=\"s:5cake12P1P\">P1</ref.protocol></decl.protocol>",
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: "<decl.function.method.instance><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>bar1</decl.name>()</decl.function.method.instance>"
},
{
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: "<decl.function.method.instance><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>bar2</decl.name>()</decl.function.method.instance>"
}
]
},
{
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: "<decl.function.method.instance><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>foo1</decl.name>()</decl.function.method.instance>"
},
{
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: "<decl.var.instance><syntaxtype.keyword>var</syntaxtype.keyword> <decl.name>Ins</decl.name>: <decl.var.type><ref.struct usr=\"s:Si\">Int</ref.struct></decl.var.type> { <syntaxtype.keyword>get</syntaxtype.keyword> <syntaxtype.keyword>set</syntaxtype.keyword> }</decl.var.instance>"
},
{
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: "<decl.function.method.instance><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>foo2</decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>a</decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\"s:Si\">Int</ref.struct></decl.var.parameter.type></decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>b</decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\"s:Si\">Int</ref.struct></decl.var.parameter.type></decl.var.parameter>)</decl.function.method.instance>",
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: "<decl.function.subscript><syntaxtype.keyword>subscript</syntaxtype.keyword>(<decl.var.parameter><decl.var.parameter.name>a</decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\"s:Si\">Int</ref.struct></decl.var.parameter.type></decl.var.parameter>) -&gt; <decl.function.returntype><ref.struct usr=\"s:Si\">Int</ref.struct></decl.function.returntype> { <syntaxtype.keyword>get</syntaxtype.keyword> <syntaxtype.keyword>set</syntaxtype.keyword> }</decl.function.subscript>",
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: "<decl.function.method.instance><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>fooConstraint</decl.name>()</decl.function.method.instance>"
}
]
},
{
key.kind: source.lang.swift.decl.protocol,
key.name: "P3",
key.usr: "s:5cake12P3P",
key.offset: 415,
key.length: 38,
key.fully_annotated_decl: "<decl.protocol><syntaxtype.keyword>protocol</syntaxtype.keyword> <decl.name>P3</decl.name></decl.protocol>",
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: "<decl.function.method.instance><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>p3Required</decl.name>()</decl.function.method.instance>"
}
]
},
{
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: "<decl.function.method.instance><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>foo</decl.name>()</decl.function.method.instance>"
}
]
}
]