Files
swift-mirror/test/SourceKit/InterfaceGen/gen_swift_module.swift.response
Rintaro Ishizaki 8bda524cd2 [SourceKit] Update for primary associated types
* InterfaceGen reports a primary associated type as a reference to the
  'associatedtype' declaration
* CursorInfo on a primary associated type returns information of the
  'associatedtype' declaration

rdar://93275458
2022-05-18 17:16:49 -07:00

199 lines
4.1 KiB
Plaintext

import SwiftOnoneSupport
public class MyClass {
public func pub_method()
}
public protocol MyProto<Assoc> {
associatedtype Assoc
}
public func pub_function()
[
{
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.attribute.builtin,
key.offset: 26,
key.length: 6
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
key.offset: 33,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
key.offset: 39,
key.length: 7
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
key.offset: 54,
key.length: 6
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
key.offset: 61,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
key.offset: 66,
key.length: 10
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
key.offset: 82,
key.length: 6
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
key.offset: 89,
key.length: 8
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
key.offset: 98,
key.length: 7
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
key.offset: 106,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
key.offset: 120,
key.length: 14
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
key.offset: 135,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
key.offset: 144,
key.length: 6
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
key.offset: 151,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
key.offset: 156,
key.length: 12
}
]
[
{
key.kind: source.lang.swift.ref.module,
key.offset: 7,
key.length: 17,
key.is_system: 1
},
{
key.kind: source.lang.swift.ref.associatedtype,
key.offset: 106,
key.length: 5
}
]
[
{
key.kind: source.lang.swift.decl.class,
key.accessibility: source.lang.swift.accessibility.public,
key.name: "MyClass",
key.offset: 33,
key.length: 47,
key.nameoffset: 39,
key.namelength: 7,
key.bodyoffset: 48,
key.bodylength: 31,
key.attributes: [
{
key.offset: 26,
key.length: 6,
key.attribute: source.decl.attribute.public
}
],
key.substructure: [
{
key.kind: source.lang.swift.decl.function.method.instance,
key.accessibility: source.lang.swift.accessibility.public,
key.name: "pub_method()",
key.offset: 61,
key.length: 17,
key.nameoffset: 66,
key.namelength: 12,
key.attributes: [
{
key.offset: 54,
key.length: 6,
key.attribute: source.decl.attribute.public
}
]
}
]
},
{
key.kind: source.lang.swift.decl.protocol,
key.accessibility: source.lang.swift.accessibility.public,
key.name: "MyProto",
key.offset: 89,
key.length: 53,
key.nameoffset: 98,
key.namelength: 7,
key.bodyoffset: 114,
key.bodylength: 27,
key.attributes: [
{
key.offset: 82,
key.length: 6,
key.attribute: source.decl.attribute.public
}
],
key.substructure: [
{
key.kind: source.lang.swift.decl.associatedtype,
key.accessibility: source.lang.swift.accessibility.public,
key.name: "Assoc",
key.offset: 120,
key.length: 20,
key.nameoffset: 135,
key.namelength: 5
}
]
},
{
key.kind: source.lang.swift.decl.function.free,
key.accessibility: source.lang.swift.accessibility.public,
key.name: "pub_function()",
key.offset: 151,
key.length: 19,
key.nameoffset: 156,
key.namelength: 14,
key.attributes: [
{
key.offset: 144,
key.length: 6,
key.attribute: source.decl.attribute.public
}
]
}
]