Files
swift-mirror/test/SourceKit/DocSupport/doc_swift_module1.swift.response
Rintaro Ishizaki 6e69a44c3d [ASTPrinter] Intorduce 'IntroducerKeyword' name kind
For more fine grained annoations. For now, it's handled as the same as
'Keyword' name kind.

Fix an issue where 'extension' wasn't marked as "keyword".

Also, move 'static' priting out of 'SkipIntroducerKeywords' guard
because 'static' is not an declaration introducer.
2021-07-29 12:50:24 -07:00

1141 lines
32 KiB
Plaintext

import SwiftOnoneSupport
import _Concurrency
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: 25,
key.length: 6
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
key.offset: 32,
key.length: 12
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
key.offset: 46,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
key.offset: 52,
key.length: 13
},
{
key.kind: source.lang.swift.syntaxtype.typeidentifier,
key.offset: 68,
key.length: 5
},
{
key.kind: source.lang.swift.ref.protocol,
key.name: "InitProto",
key.usr: "s:5cake19InitProtoP",
key.offset: 74,
key.length: 9
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
key.offset: 91,
key.length: 8
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
key.offset: 100,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.argument,
key.offset: 105,
key.length: 1
},
{
key.kind: source.lang.swift.syntaxtype.parameter,
key.offset: 107,
key.length: 1
},
{
key.kind: source.lang.swift.ref.struct,
key.name: "Int",
key.usr: "s:Si",
key.offset: 110,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
key.offset: 120,
key.length: 11
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
key.offset: 132,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
key.offset: 142,
key.length: 8
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
key.offset: 151,
key.length: 9
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
key.offset: 168,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.argument,
key.offset: 173,
key.length: 1
},
{
key.kind: source.lang.swift.syntaxtype.parameter,
key.offset: 175,
key.length: 1
},
{
key.kind: source.lang.swift.ref.struct,
key.name: "Int",
key.usr: "s:Si",
key.offset: 178,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
key.offset: 186,
key.length: 9
},
{
key.kind: source.lang.swift.ref.protocol,
key.name: "InitProto",
key.usr: "s:5cake19InitProtoP",
key.offset: 196,
key.length: 9
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
key.offset: 213,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
key.offset: 223,
key.length: 6
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
key.offset: 230,
key.length: 14
},
{
key.kind: source.lang.swift.syntaxtype.typeidentifier,
key.offset: 247,
key.length: 5
},
{
key.kind: source.lang.swift.ref.protocol,
key.name: "InitProto",
key.usr: "s:5cake19InitProtoP",
key.offset: 253,
key.length: 9
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
key.offset: 270,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.argument,
key.offset: 275,
key.length: 1
},
{
key.kind: source.lang.swift.syntaxtype.parameter,
key.offset: 277,
key.length: 1
},
{
key.kind: source.lang.swift.ref.struct,
key.name: "Int",
key.usr: "s:Si",
key.offset: 280,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
key.offset: 290,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
key.offset: 300,
key.length: 8
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
key.offset: 309,
key.length: 2
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
key.offset: 319,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
key.offset: 324,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
key.offset: 336,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
key.offset: 340,
key.length: 3
},
{
key.kind: source.lang.swift.ref.struct,
key.name: "Int",
key.usr: "s:Si",
key.offset: 345,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
key.offset: 351,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
key.offset: 355,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
key.offset: 366,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
key.offset: 371,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.argument,
key.offset: 376,
key.length: 1
},
{
key.kind: source.lang.swift.syntaxtype.parameter,
key.offset: 378,
key.length: 1
},
{
key.kind: source.lang.swift.ref.struct,
key.name: "Int",
key.usr: "s:Si",
key.offset: 381,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.argument,
key.offset: 386,
key.length: 1
},
{
key.kind: source.lang.swift.syntaxtype.parameter,
key.offset: 388,
key.length: 1
},
{
key.kind: source.lang.swift.ref.struct,
key.name: "Int",
key.usr: "s:Si",
key.offset: 391,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
key.offset: 401,
key.length: 9
},
{
key.kind: source.lang.swift.syntaxtype.argument,
key.offset: 411,
key.length: 1
},
{
key.kind: source.lang.swift.syntaxtype.parameter,
key.offset: 413,
key.length: 1
},
{
key.kind: source.lang.swift.ref.struct,
key.name: "Int",
key.usr: "s:Si",
key.offset: 416,
key.length: 3
},
{
key.kind: source.lang.swift.ref.struct,
key.name: "Int",
key.usr: "s:Si",
key.offset: 424,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
key.offset: 430,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
key.offset: 434,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
key.offset: 445,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
key.offset: 450,
key.length: 13
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
key.offset: 469,
key.length: 8
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
key.offset: 478,
key.length: 2
},
{
key.kind: source.lang.swift.syntaxtype.typeidentifier,
key.offset: 483,
key.length: 5
},
{
key.kind: source.lang.swift.ref.protocol,
key.name: "P1",
key.usr: "s:5cake12P1P",
key.offset: 489,
key.length: 2
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
key.offset: 499,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
key.offset: 504,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
key.offset: 516,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
key.offset: 521,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
key.offset: 531,
key.length: 9
},
{
key.kind: source.lang.swift.ref.protocol,
key.name: "P2",
key.usr: "s:5cake12P2P",
key.offset: 541,
key.length: 2
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
key.offset: 551,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
key.offset: 556,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
key.offset: 568,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
key.offset: 572,
key.length: 3
},
{
key.kind: source.lang.swift.ref.struct,
key.name: "Int",
key.usr: "s:Si",
key.offset: 577,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
key.offset: 586,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
key.offset: 591,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.argument,
key.offset: 596,
key.length: 1
},
{
key.kind: source.lang.swift.syntaxtype.parameter,
key.offset: 598,
key.length: 1
},
{
key.kind: source.lang.swift.ref.struct,
key.name: "Int",
key.usr: "s:Si",
key.offset: 601,
key.length: 3
},
{
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: 1
},
{
key.kind: source.lang.swift.ref.struct,
key.name: "Int",
key.usr: "s:Si",
key.offset: 611,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
key.offset: 621,
key.length: 9
},
{
key.kind: source.lang.swift.syntaxtype.argument,
key.offset: 631,
key.length: 1
},
{
key.kind: source.lang.swift.syntaxtype.parameter,
key.offset: 633,
key.length: 1
},
{
key.kind: source.lang.swift.ref.struct,
key.name: "Int",
key.usr: "s:Si",
key.offset: 636,
key.length: 3
},
{
key.kind: source.lang.swift.ref.struct,
key.name: "Int",
key.usr: "s:Si",
key.offset: 644,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
key.offset: 651,
key.length: 9
},
{
key.kind: source.lang.swift.ref.protocol,
key.name: "P2",
key.usr: "s:5cake12P2P",
key.offset: 661,
key.length: 2
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
key.offset: 664,
key.length: 5
},
{
key.kind: source.lang.swift.ref.generic_type_param,
key.name: "Self",
key.usr: "s:5cake12P2PA2A2P3RzrlE4Selfxmfp",
key.offset: 670,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.typeidentifier,
key.offset: 677,
key.length: 5
},
{
key.kind: source.lang.swift.ref.protocol,
key.name: "P3",
key.usr: "s:5cake12P3P",
key.offset: 683,
key.length: 2
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
key.offset: 693,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
key.offset: 698,
key.length: 13
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
key.offset: 717,
key.length: 8
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
key.offset: 726,
key.length: 2
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
key.offset: 736,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
key.offset: 741,
key.length: 10
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
key.offset: 757,
key.length: 9
},
{
key.kind: source.lang.swift.ref.struct,
key.name: "Dictionary",
key.usr: "s:SD",
key.offset: 767,
key.length: 10
},
{
key.kind: source.lang.swift.ref.struct,
key.name: "Keys",
key.usr: "s:SD4KeysV",
key.offset: 778,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
key.offset: 790,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
key.offset: 795,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
key.offset: 804,
key.length: 9
},
{
key.kind: source.lang.swift.ref.struct,
key.name: "Dictionary",
key.usr: "s:SD",
key.offset: 814,
key.length: 10
},
{
key.kind: source.lang.swift.ref.struct,
key.name: "Keys",
key.usr: "s:SD4KeysV",
key.offset: 825,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
key.offset: 830,
key.length: 5
},
{
key.kind: source.lang.swift.ref.generic_type_param,
key.name: "Key",
key.usr: "s:SD4KeysV5cake1AC2P1RzrlE3Keyxmfp",
key.offset: 836,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.typeidentifier,
key.offset: 842,
key.length: 5
},
{
key.kind: source.lang.swift.ref.protocol,
key.name: "P1",
key.usr: "s:5cake12P1P",
key.offset: 848,
key.length: 2
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
key.offset: 858,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
key.offset: 863,
key.length: 3
}
]
[
{
key.kind: source.lang.swift.decl.class,
key.name: "InitClassImpl",
key.usr: "s:5cake113InitClassImplC",
key.offset: 46,
key.length: 94,
key.fully_annotated_decl: "<decl.class><syntaxtype.keyword>class</syntaxtype.keyword> <decl.name>InitClassImpl</decl.name> : <ref.protocol usr=\"s:5cake19InitProtoP\">InitProto</ref.protocol></decl.class>",
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: 91,
key.length: 23,
key.fully_annotated_decl: "<decl.function.constructor><syntaxtype.keyword>required</syntaxtype.keyword> <syntaxtype.keyword>init</syntaxtype.keyword>(<decl.var.parameter><decl.var.parameter.argument_label>x</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.constructor>",
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: 110,
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: 120,
key.length: 18,
key.fully_annotated_decl: "<decl.function.constructor><syntaxtype.keyword>convenience</syntaxtype.keyword> <syntaxtype.keyword>init</syntaxtype.keyword>()</decl.function.constructor>"
}
]
},
{
key.kind: source.lang.swift.decl.protocol,
key.name: "InitProto",
key.usr: "s:5cake19InitProtoP",
key.offset: 142,
key.length: 42,
key.fully_annotated_decl: "<decl.protocol><syntaxtype.keyword>protocol</syntaxtype.keyword> <decl.name>InitProto</decl.name></decl.protocol>",
key.entities: [
{
key.kind: source.lang.swift.decl.function.constructor,
key.name: "init(x:)",
key.usr: "s:5cake19InitProtoP1xxSi_tcfc",
key.offset: 168,
key.length: 14,
key.fully_annotated_decl: "<decl.function.constructor><syntaxtype.keyword>init</syntaxtype.keyword>(<decl.var.parameter><decl.var.parameter.argument_label>x</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.constructor>",
key.entities: [
{
key.kind: source.lang.swift.decl.var.local,
key.keyword: "x",
key.name: "x",
key.offset: 178,
key.length: 3
}
]
}
]
},
{
key.kind: source.lang.swift.decl.extension.protocol,
key.offset: 186,
key.length: 35,
key.fully_annotated_decl: "<decl.extension.protocol><syntaxtype.keyword>extension</syntaxtype.keyword> <decl.name><ref.protocol usr=\"s:5cake19InitProtoP\">InitProto</ref.protocol></decl.name></decl.extension.protocol>",
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: 213,
key.length: 6,
key.fully_annotated_decl: "<decl.function.constructor><syntaxtype.keyword>init</syntaxtype.keyword>()</decl.function.constructor>"
}
]
},
{
key.kind: source.lang.swift.decl.struct,
key.name: "InitStructImpl",
key.usr: "s:5cake114InitStructImplV",
key.offset: 223,
key.length: 75,
key.fully_annotated_decl: "<decl.struct><syntaxtype.keyword>struct</syntaxtype.keyword> <decl.name>InitStructImpl</decl.name> : <ref.protocol usr=\"s:5cake19InitProtoP\">InitProto</ref.protocol></decl.struct>",
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: 270,
key.length: 14,
key.fully_annotated_decl: "<decl.function.constructor><syntaxtype.keyword>init</syntaxtype.keyword>(<decl.var.parameter><decl.var.parameter.argument_label>x</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.constructor>",
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: 280,
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: 290,
key.length: 6,
key.fully_annotated_decl: "<decl.function.constructor><syntaxtype.keyword>init</syntaxtype.keyword>()</decl.function.constructor>"
}
]
},
{
key.kind: source.lang.swift.decl.protocol,
key.name: "P1",
key.usr: "s:5cake12P1P",
key.offset: 300,
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: 319,
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: 336,
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: 366,
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: 381,
key.length: 3
},
{
key.kind: source.lang.swift.decl.var.local,
key.keyword: "b",
key.name: "b",
key.offset: 391,
key.length: 3
}
]
},
{
key.kind: source.lang.swift.decl.function.subscript,
key.name: "subscript(_:)",
key.usr: "s:5cake12P1PyS2icip",
key.offset: 401,
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: 416,
key.length: 3
}
]
},
{
key.kind: source.lang.swift.decl.function.method.instance,
key.name: "fooConstraint()",
key.usr: "s:5cake12P1P13fooConstraintyyF",
key.offset: 445,
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: 469,
key.length: 60,
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: 499,
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: 516,
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: 531,
key.length: 118,
key.fully_annotated_decl: "<decl.extension.protocol><syntaxtype.keyword>extension</syntaxtype.keyword> <decl.name><ref.protocol usr=\"s:5cake12P2P\">P2</ref.protocol></decl.name></decl.extension.protocol>",
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: 551,
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: 568,
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: 586,
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: 601,
key.length: 3
},
{
key.kind: source.lang.swift.decl.var.local,
key.keyword: "b",
key.name: "b",
key.offset: 611,
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: 621,
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: 636,
key.length: 3
}
]
}
]
},
{
key.kind: source.lang.swift.decl.extension.protocol,
key.generic_requirements: [
{
key.description: "Self : P3"
}
],
key.offset: 651,
key.length: 64,
key.fully_annotated_decl: "<decl.extension.protocol><syntaxtype.keyword>extension</syntaxtype.keyword> <decl.name><ref.protocol usr=\"s:5cake12P2P\">P2</ref.protocol></decl.name> <syntaxtype.keyword>where</syntaxtype.keyword> <decl.generic_type_requirement><ref.generic_type_param usr=\"s:5cake12P2PA2A2P3RzrlE4Selfxmfp\">Self</ref.generic_type_param> : <ref.protocol usr=\"s:5cake12P3P\">P3</ref.protocol></decl.generic_type_requirement></decl.extension.protocol>",
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: 693,
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: 717,
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: 736,
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: 757,
key.length: 45,
key.fully_annotated_decl: "<decl.extension.struct><syntaxtype.keyword>extension</syntaxtype.keyword> <decl.name><ref.struct usr=\"s:SD\">Dictionary</ref.struct>.<ref.struct usr=\"s:SD4KeysV\">Keys</ref.struct></decl.name></decl.extension.struct>",
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: 790,
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>"
}
]
},
{
key.kind: source.lang.swift.decl.extension.struct,
key.generic_requirements: [
{
key.description: "Key : Hashable"
},
{
key.description: "Key : P1"
}
],
key.offset: 804,
key.length: 66,
key.fully_annotated_decl: "<decl.extension.struct><syntaxtype.keyword>extension</syntaxtype.keyword> <decl.name><ref.struct usr=\"s:SD\">Dictionary</ref.struct>.<ref.struct usr=\"s:SD4KeysV\">Keys</ref.struct></decl.name> <syntaxtype.keyword>where</syntaxtype.keyword> <decl.generic_type_requirement><ref.generic_type_param usr=\"s:SD4KeysV5cake1AC2P1RzrlE3Keyxmfp\">Key</ref.generic_type_param> : <ref.protocol usr=\"s:5cake12P1P\">P1</ref.protocol></decl.generic_type_requirement></decl.extension.struct>",
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: 858,
key.length: 10,
key.fully_annotated_decl: "<decl.function.method.instance><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>bar</decl.name>()</decl.function.method.instance>"
}
]
}
]