From 973a158476568b167d4a004c46b690c962ec3316 Mon Sep 17 00:00:00 2001 From: JP Simard Date: Wed, 23 Sep 2020 09:54:05 -0400 Subject: [PATCH] More --- .../Fixtures/Bicycle@swift-5.3.json | 728 ++++++++++++++++++ .../Fixtures/Extension@swift-5.3.json | 306 ++++++++ .../StructureTests.swift | 2 +- 3 files changed, 1035 insertions(+), 1 deletion(-) create mode 100644 Tests/SourceKittenFrameworkTests/Fixtures/Bicycle@swift-5.3.json create mode 100644 Tests/SourceKittenFrameworkTests/Fixtures/Extension@swift-5.3.json diff --git a/Tests/SourceKittenFrameworkTests/Fixtures/Bicycle@swift-5.3.json b/Tests/SourceKittenFrameworkTests/Fixtures/Bicycle@swift-5.3.json new file mode 100644 index 000000000..4683ae452 --- /dev/null +++ b/Tests/SourceKittenFrameworkTests/Fixtures/Bicycle@swift-5.3.json @@ -0,0 +1,728 @@ +{ + "Bicycle.swift" : { + "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse", + "key.length" : 2472, + "key.offset" : 0, + "key.substructure" : [ + { + "key.accessibility" : "source.lang.swift.accessibility.public", + "key.annotated_decl" : "class NSString : NSObject<\/Type>, NSCopying<\/Type>, NSMutableCopying<\/Type>, NSSecureCoding<\/Type><\/Declaration>", + "key.attributes" : [ + { + "key.attribute" : "source.decl.attribute.public", + "key.length" : 6, + "key.offset" : 134 + }, + { + "key.attribute" : "source.decl.attribute.available", + "key.length" : 88, + "key.offset" : 45 + } + ], + "key.bodylength" : 0, + "key.bodyoffset" : 161, + "key.doc.comment" : "Deprecated extension.", + "key.doclength" : 26, + "key.docoffset" : 19, + "key.filepath" : "", + "key.fully_annotated_decl" : "class<\/syntaxtype.keyword> NSString<\/decl.name> : NSObject<\/ref.class>, NSCopying<\/ref.protocol>, NSMutableCopying<\/ref.protocol>, NSSecureCoding<\/ref.protocol><\/decl.class>", + "key.is_system" : true, + "key.kind" : "source.lang.swift.decl.extension", + "key.length" : 21, + "key.modulename" : "Foundation.NSString", + "key.name" : "NSString", + "key.namelength" : 8, + "key.nameoffset" : 151, + "key.offset" : 141, + "key.parsed_declaration" : "public extension NSString", + "key.parsed_scope.end" : 5, + "key.parsed_scope.start" : 5, + "key.typename" : "NSString.Type", + "key.typeusr" : "$sSo8NSStringCmD", + "key.usr" : "c:objc(cs)NSString" + }, + { + "key.accessibility" : "source.lang.swift.accessibility.public", + "key.annotated_decl" : "public class Bicycle<\/Declaration>", + "key.attributes" : [ + { + "key.attribute" : "source.decl.attribute.public", + "key.length" : 6, + "key.offset" : 226 + } + ], + "key.bodylength" : 2222, + "key.bodyoffset" : 248, + "key.doc.column" : 14, + "key.doc.comment" : "🚲 A two-wheeled, human-powered mode of transportation.", + "key.doc.declaration" : "public class Bicycle", + "key.doc.file" : "Bicycle.swift", + "key.doc.full_as_xml" : "Bicycle<\/Name>s:7BicycleAAC<\/USR>public class Bicycle<\/Declaration>🚲 A two-wheeled, human-powered mode of transportation.<\/Para><\/Abstract><\/CommentParts><\/Class>", + "key.doc.line" : 8, + "key.doc.name" : "Bicycle", + "key.doc.type" : "Class", + "key.doclength" : 62, + "key.docoffset" : 164, + "key.filepath" : "Bicycle.swift", + "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> class<\/syntaxtype.keyword> Bicycle<\/decl.name><\/decl.class>", + "key.kind" : "source.lang.swift.decl.class", + "key.length" : 2238, + "key.name" : "Bicycle", + "key.namelength" : 7, + "key.nameoffset" : 239, + "key.offset" : 233, + "key.parsed_declaration" : "public class Bicycle", + "key.parsed_scope.end" : 93, + "key.parsed_scope.start" : 8, + "key.substructure" : [ + { + "key.accessibility" : "source.lang.swift.accessibility.public", + "key.annotated_decl" : "public enum Bicycle<\/Type>.Style<\/Declaration>", + "key.attributes" : [ + { + "key.attribute" : "source.decl.attribute.public", + "key.length" : 6, + "key.offset" : 473 + } + ], + "key.bodylength" : 49, + "key.bodyoffset" : 492, + "key.doc.column" : 17, + "key.doc.comment" : "Frame and construction style.\n\n- Road: For streets or trails.\n- Touring: For long journeys.\n- Cruiser: For casual trips around town.\n- Hybrid: For general-purpose transportation.", + "key.doc.declaration" : "public enum Bicycle.Bicycle.Style", + "key.doc.discussion" : [ + { + "List-Bullet" : "" + } + ], + "key.doc.file" : "Bicycle.swift", + "key.doc.full_as_xml" : "Style<\/Name>s:7BicycleAAC5StyleO<\/USR>public enum Bicycle.Bicycle.Style<\/Declaration>Frame and construction style.<\/Para><\/Abstract>Road: For streets or trails.<\/Para><\/Item>Touring: For long journeys.<\/Para><\/Item>Cruiser: For casual trips around town.<\/Para><\/Item>Hybrid: For general-purpose transportation.<\/Para><\/Item><\/List-Bullet><\/Discussion><\/CommentParts><\/Other>", + "key.doc.line" : 17, + "key.doc.name" : "Style", + "key.doc.type" : "Other", + "key.doclength" : 215, + "key.docoffset" : 253, + "key.filepath" : "Bicycle.swift", + "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> enum<\/syntaxtype.keyword> Bicycle<\/ref.class>.Style<\/decl.name><\/decl.enum>", + "key.kind" : "source.lang.swift.decl.enum", + "key.length" : 62, + "key.name" : "Style", + "key.namelength" : 5, + "key.nameoffset" : 485, + "key.offset" : 480, + "key.parsed_declaration" : "public enum Style", + "key.parsed_scope.end" : 19, + "key.parsed_scope.start" : 17, + "key.substructure" : [ + { + "key.kind" : "source.lang.swift.decl.enumcase", + "key.length" : 35, + "key.namelength" : 0, + "key.nameoffset" : 0, + "key.offset" : 501, + "key.substructure" : [ + { + "key.accessibility" : "source.lang.swift.accessibility.public", + "key.annotated_decl" : "case Road<\/Declaration>", + "key.filepath" : "Bicycle.swift", + "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> Road<\/decl.name><\/decl.enumelement>", + "key.kind" : "source.lang.swift.decl.enumelement", + "key.length" : 4, + "key.name" : "Road", + "key.namelength" : 4, + "key.nameoffset" : 506, + "key.offset" : 506, + "key.parsed_declaration" : "case Road", + "key.parsed_scope.end" : 18, + "key.parsed_scope.start" : 18, + "key.typename" : "(Bicycle.Style.Type) -> Bicycle.Style", + "key.typeusr" : "$sy7BicycleAAC5StyleOADmcD", + "key.usr" : "s:7BicycleAAC5StyleO4RoadyA2DmF" + }, + { + "key.accessibility" : "source.lang.swift.accessibility.public", + "key.annotated_decl" : "case Touring<\/Declaration>", + "key.filepath" : "Bicycle.swift", + "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> Touring<\/decl.name><\/decl.enumelement>", + "key.kind" : "source.lang.swift.decl.enumelement", + "key.length" : 7, + "key.name" : "Touring", + "key.namelength" : 7, + "key.nameoffset" : 512, + "key.offset" : 512, + "key.parsed_declaration" : "case Road, Touring", + "key.parsed_scope.end" : 18, + "key.parsed_scope.start" : 18, + "key.typename" : "(Bicycle.Style.Type) -> Bicycle.Style", + "key.typeusr" : "$sy7BicycleAAC5StyleOADmcD", + "key.usr" : "s:7BicycleAAC5StyleO7TouringyA2DmF" + }, + { + "key.accessibility" : "source.lang.swift.accessibility.public", + "key.annotated_decl" : "case Cruiser<\/Declaration>", + "key.filepath" : "Bicycle.swift", + "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> Cruiser<\/decl.name><\/decl.enumelement>", + "key.kind" : "source.lang.swift.decl.enumelement", + "key.length" : 7, + "key.name" : "Cruiser", + "key.namelength" : 7, + "key.nameoffset" : 521, + "key.offset" : 521, + "key.parsed_declaration" : "case Road, Touring, Cruiser", + "key.parsed_scope.end" : 18, + "key.parsed_scope.start" : 18, + "key.typename" : "(Bicycle.Style.Type) -> Bicycle.Style", + "key.typeusr" : "$sy7BicycleAAC5StyleOADmcD", + "key.usr" : "s:7BicycleAAC5StyleO7CruiseryA2DmF" + }, + { + "key.accessibility" : "source.lang.swift.accessibility.public", + "key.annotated_decl" : "case Hybrid<\/Declaration>", + "key.filepath" : "Bicycle.swift", + "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> Hybrid<\/decl.name><\/decl.enumelement>", + "key.kind" : "source.lang.swift.decl.enumelement", + "key.length" : 6, + "key.name" : "Hybrid", + "key.namelength" : 6, + "key.nameoffset" : 530, + "key.offset" : 530, + "key.parsed_declaration" : "case Road, Touring, Cruiser, Hybrid", + "key.parsed_scope.end" : 18, + "key.parsed_scope.start" : 18, + "key.typename" : "(Bicycle.Style.Type) -> Bicycle.Style", + "key.typeusr" : "$sy7BicycleAAC5StyleOADmcD", + "key.usr" : "s:7BicycleAAC5StyleO6HybridyA2DmF" + } + ] + } + ], + "key.typename" : "Bicycle.Style.Type", + "key.typeusr" : "$s7BicycleAAC5StyleOmD", + "key.usr" : "s:7BicycleAAC5StyleO" + }, + { + "key.accessibility" : "source.lang.swift.accessibility.public", + "key.annotated_decl" : "public enum Bicycle<\/Type>.Gearing<\/Declaration>", + "key.attributes" : [ + { + "key.attribute" : "source.decl.attribute.public", + "key.length" : 6, + "key.offset" : 712 + } + ], + "key.bodylength" : 60, + "key.bodyoffset" : 733, + "key.doc.column" : 17, + "key.doc.comment" : "Mechanism for converting pedal power into motion.\n\n- Fixed: A single, fixed gear.\n- Freewheel: A variable-speed, disengageable gear.", + "key.doc.declaration" : "public enum Bicycle.Bicycle.Gearing", + "key.doc.discussion" : [ + { + "List-Bullet" : "" + } + ], + "key.doc.file" : "Bicycle.swift", + "key.doc.full_as_xml" : "Gearing<\/Name>s:7BicycleAAC7GearingO<\/USR>public enum Bicycle.Bicycle.Gearing<\/Declaration>Mechanism for converting pedal power into motion.<\/Para><\/Abstract>Fixed: A single, fixed gear.<\/Para><\/Item>Freewheel: A variable-speed, disengageable gear.<\/Para><\/Item><\/List-Bullet><\/Discussion><\/CommentParts><\/Other>", + "key.doc.line" : 27, + "key.doc.name" : "Gearing", + "key.doc.type" : "Other", + "key.doclength" : 159, + "key.docoffset" : 548, + "key.filepath" : "Bicycle.swift", + "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> enum<\/syntaxtype.keyword> Bicycle<\/ref.class>.Gearing<\/decl.name><\/decl.enum>", + "key.kind" : "source.lang.swift.decl.enum", + "key.length" : 75, + "key.name" : "Gearing", + "key.namelength" : 7, + "key.nameoffset" : 724, + "key.offset" : 719, + "key.parsed_declaration" : "public enum Gearing", + "key.parsed_scope.end" : 30, + "key.parsed_scope.start" : 27, + "key.substructure" : [ + { + "key.kind" : "source.lang.swift.decl.enumcase", + "key.length" : 10, + "key.namelength" : 0, + "key.nameoffset" : 0, + "key.offset" : 742, + "key.substructure" : [ + { + "key.accessibility" : "source.lang.swift.accessibility.public", + "key.annotated_decl" : "case Fixed<\/Declaration>", + "key.filepath" : "Bicycle.swift", + "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> Fixed<\/decl.name><\/decl.enumelement>", + "key.kind" : "source.lang.swift.decl.enumelement", + "key.length" : 5, + "key.name" : "Fixed", + "key.namelength" : 5, + "key.nameoffset" : 747, + "key.offset" : 747, + "key.parsed_declaration" : "case Fixed", + "key.parsed_scope.end" : 28, + "key.parsed_scope.start" : 28, + "key.typename" : "(Bicycle.Gearing.Type) -> Bicycle.Gearing", + "key.typeusr" : "$sy7BicycleAAC7GearingOADmcD", + "key.usr" : "s:7BicycleAAC7GearingO5FixedyA2DmF" + } + ] + }, + { + "key.kind" : "source.lang.swift.decl.enumcase", + "key.length" : 27, + "key.namelength" : 0, + "key.nameoffset" : 0, + "key.offset" : 761, + "key.substructure" : [ + { + "key.accessibility" : "source.lang.swift.accessibility.public", + "key.annotated_decl" : "case Freewheel(speeds: Int<\/Type>)<\/Declaration>", + "key.filepath" : "Bicycle.swift", + "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> Freewheel<\/decl.name>(speeds<\/decl.var.parameter.argument_label>: Int<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.enumelement>", + "key.kind" : "source.lang.swift.decl.enumelement", + "key.length" : 22, + "key.name" : "Freewheel(speeds:)", + "key.namelength" : 22, + "key.nameoffset" : 766, + "key.offset" : 766, + "key.parsed_declaration" : "case Freewheel(speeds: Int)", + "key.parsed_scope.end" : 29, + "key.parsed_scope.start" : 29, + "key.substructure" : [ + + ], + "key.typename" : "(Bicycle.Gearing.Type) -> (Int) -> Bicycle.Gearing", + "key.typeusr" : "$sy7BicycleAAC7GearingOSi_tcADmcD", + "key.usr" : "s:7BicycleAAC7GearingO9FreewheelyADSi_tcADmF" + } + ] + } + ], + "key.typename" : "Bicycle.Gearing.Type", + "key.typeusr" : "$s7BicycleAAC7GearingOmD", + "key.usr" : "s:7BicycleAAC7GearingO" + }, + { + "key.accessibility" : "source.lang.swift.accessibility.internal", + "key.annotated_decl" : "enum Bicycle<\/Type>.Handlebar<\/Declaration>", + "key.bodylength" : 47, + "key.bodyoffset" : 1009, + "key.doc.column" : 10, + "key.doc.comment" : "Hardware used for steering.\n\n- Riser: A casual handlebar.\n- Café: An upright handlebar.\n- Drop: A classic handlebar.\n- Bullhorn: A powerful handlebar.", + "key.doc.declaration" : "enum Bicycle.Bicycle.Handlebar", + "key.doc.discussion" : [ + { + "List-Bullet" : "" + } + ], + "key.doc.file" : "Bicycle.swift", + "key.doc.full_as_xml" : "Handlebar<\/Name>s:7BicycleAAC9HandlebarO<\/USR>enum Bicycle.Bicycle.Handlebar<\/Declaration>Hardware used for steering.<\/Para><\/Abstract>Riser: A casual handlebar.<\/Para><\/Item>Café: An upright handlebar.<\/Para><\/Item>Drop: A classic handlebar.<\/Para><\/Item>Bullhorn: A powerful handlebar.<\/Para><\/Item><\/List-Bullet><\/Discussion><\/CommentParts><\/Other>", + "key.doc.line" : 40, + "key.doc.name" : "Handlebar", + "key.doc.type" : "Other", + "key.doclength" : 188, + "key.docoffset" : 800, + "key.filepath" : "Bicycle.swift", + "key.fully_annotated_decl" : "enum<\/syntaxtype.keyword> Bicycle<\/ref.class>.Handlebar<\/decl.name><\/decl.enum>", + "key.kind" : "source.lang.swift.decl.enum", + "key.length" : 64, + "key.name" : "Handlebar", + "key.namelength" : 9, + "key.nameoffset" : 998, + "key.offset" : 993, + "key.parsed_declaration" : "enum Handlebar", + "key.parsed_scope.end" : 42, + "key.parsed_scope.start" : 40, + "key.substructure" : [ + { + "key.kind" : "source.lang.swift.decl.enumcase", + "key.length" : 33, + "key.namelength" : 0, + "key.nameoffset" : 0, + "key.offset" : 1018, + "key.substructure" : [ + { + "key.accessibility" : "source.lang.swift.accessibility.internal", + "key.annotated_decl" : "case Riser<\/Declaration>", + "key.filepath" : "Bicycle.swift", + "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> Riser<\/decl.name><\/decl.enumelement>", + "key.kind" : "source.lang.swift.decl.enumelement", + "key.length" : 5, + "key.name" : "Riser", + "key.namelength" : 5, + "key.nameoffset" : 1023, + "key.offset" : 1023, + "key.parsed_declaration" : "case Riser", + "key.parsed_scope.end" : 41, + "key.parsed_scope.start" : 41, + "key.typename" : "(Bicycle.Handlebar.Type) -> Bicycle.Handlebar", + "key.typeusr" : "$sy7BicycleAAC9HandlebarOADmcD", + "key.usr" : "s:7BicycleAAC9HandlebarO5RiseryA2DmF" + }, + { + "key.accessibility" : "source.lang.swift.accessibility.internal", + "key.annotated_decl" : "case Café<\/Declaration>", + "key.filepath" : "Bicycle.swift", + "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> Café<\/decl.name><\/decl.enumelement>", + "key.kind" : "source.lang.swift.decl.enumelement", + "key.length" : 5, + "key.name" : "Café", + "key.namelength" : 5, + "key.nameoffset" : 1030, + "key.offset" : 1030, + "key.parsed_declaration" : "case Riser, Café", + "key.parsed_scope.end" : 41, + "key.parsed_scope.start" : 41, + "key.typename" : "(Bicycle.Handlebar.Type) -> Bicycle.Handlebar", + "key.typeusr" : "$sy7BicycleAAC9HandlebarOADmcD", + "key.usr" : "s:7BicycleAAC9HandlebarO007Caf_dmayA2DmF" + }, + { + "key.accessibility" : "source.lang.swift.accessibility.internal", + "key.annotated_decl" : "case Drop<\/Declaration>", + "key.filepath" : "Bicycle.swift", + "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> Drop<\/decl.name><\/decl.enumelement>", + "key.kind" : "source.lang.swift.decl.enumelement", + "key.length" : 4, + "key.name" : "Drop", + "key.namelength" : 4, + "key.nameoffset" : 1037, + "key.offset" : 1037, + "key.parsed_declaration" : "case Riser, Café, Drop", + "key.parsed_scope.end" : 41, + "key.parsed_scope.start" : 41, + "key.typename" : "(Bicycle.Handlebar.Type) -> Bicycle.Handlebar", + "key.typeusr" : "$sy7BicycleAAC9HandlebarOADmcD", + "key.usr" : "s:7BicycleAAC9HandlebarO4DropyA2DmF" + }, + { + "key.accessibility" : "source.lang.swift.accessibility.internal", + "key.annotated_decl" : "case Bullhorn<\/Declaration>", + "key.filepath" : "Bicycle.swift", + "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> Bullhorn<\/decl.name><\/decl.enumelement>", + "key.kind" : "source.lang.swift.decl.enumelement", + "key.length" : 8, + "key.name" : "Bullhorn", + "key.namelength" : 8, + "key.nameoffset" : 1043, + "key.offset" : 1043, + "key.parsed_declaration" : "case Riser, Café, Drop, Bullhorn", + "key.parsed_scope.end" : 41, + "key.parsed_scope.start" : 41, + "key.typename" : "(Bicycle.Handlebar.Type) -> Bicycle.Handlebar", + "key.typeusr" : "$sy7BicycleAAC9HandlebarOADmcD", + "key.usr" : "s:7BicycleAAC9HandlebarO8BullhornyA2DmF" + } + ] + } + ], + "key.typename" : "Bicycle.Handlebar.Type", + "key.typeusr" : "$s7BicycleAAC9HandlebarOmD", + "key.usr" : "s:7BicycleAAC9HandlebarO" + }, + { + "key.accessibility" : "source.lang.swift.accessibility.internal", + "key.annotated_decl" : "let style: Style<\/Type><\/Declaration>", + "key.doc.column" : 9, + "key.doc.comment" : "The style of the bicycle.", + "key.doc.declaration" : "let style: Style", + "key.doc.file" : "Bicycle.swift", + "key.doc.full_as_xml" : "style<\/Name>s:7BicycleAAC5styleAB5StyleOvp<\/USR>let style: Style<\/Declaration>The style of the bicycle.<\/Para><\/Abstract><\/CommentParts><\/Other>", + "key.doc.line" : 45, + "key.doc.name" : "style", + "key.doc.type" : "Other", + "key.doclength" : 30, + "key.docoffset" : 1063, + "key.filepath" : "Bicycle.swift", + "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> style<\/decl.name>: Style<\/ref.enum><\/decl.var.type><\/decl.var.instance>", + "key.kind" : "source.lang.swift.decl.var.instance", + "key.length" : 16, + "key.name" : "style", + "key.namelength" : 5, + "key.nameoffset" : 1101, + "key.offset" : 1097, + "key.parsed_declaration" : "let style: Style", + "key.parsed_scope.end" : 45, + "key.parsed_scope.start" : 45, + "key.typename" : "Bicycle.Style", + "key.typeusr" : "$s7BicycleAAC5StyleOD", + "key.usr" : "s:7BicycleAAC5styleAB5StyleOvp" + }, + { + "key.accessibility" : "source.lang.swift.accessibility.internal", + "key.annotated_decl" : "let gearing: Gearing<\/Type><\/Declaration>", + "key.doc.column" : 9, + "key.doc.comment" : "The gearing of the bicycle.", + "key.doc.declaration" : "let gearing: Gearing", + "key.doc.file" : "Bicycle.swift", + "key.doc.full_as_xml" : "gearing<\/Name>s:7BicycleAAC7gearingAB7GearingOvp<\/USR>let gearing: Gearing<\/Declaration>The gearing of the bicycle.<\/Para><\/Abstract><\/CommentParts><\/Other>", + "key.doc.line" : 48, + "key.doc.name" : "gearing", + "key.doc.type" : "Other", + "key.doclength" : 32, + "key.docoffset" : 1119, + "key.filepath" : "Bicycle.swift", + "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> gearing<\/decl.name>: Gearing<\/ref.enum><\/decl.var.type><\/decl.var.instance>", + "key.kind" : "source.lang.swift.decl.var.instance", + "key.length" : 20, + "key.name" : "gearing", + "key.namelength" : 7, + "key.nameoffset" : 1159, + "key.offset" : 1155, + "key.parsed_declaration" : "let gearing: Gearing", + "key.parsed_scope.end" : 48, + "key.parsed_scope.start" : 48, + "key.typename" : "Bicycle.Gearing", + "key.typeusr" : "$s7BicycleAAC7GearingOD", + "key.usr" : "s:7BicycleAAC7gearingAB7GearingOvp" + }, + { + "key.accessibility" : "source.lang.swift.accessibility.internal", + "key.annotated_decl" : "let handlebar: Handlebar<\/Type><\/Declaration>", + "key.doc.column" : 9, + "key.doc.comment" : "The handlebar of the bicycle.", + "key.doc.declaration" : "let handlebar: Handlebar", + "key.doc.file" : "Bicycle.swift", + "key.doc.full_as_xml" : "handlebar<\/Name>s:7BicycleAAC9handlebarAB9HandlebarOvp<\/USR>let handlebar: Handlebar<\/Declaration>The handlebar of the bicycle.<\/Para><\/Abstract><\/CommentParts><\/Other>", + "key.doc.line" : 51, + "key.doc.name" : "handlebar", + "key.doc.type" : "Other", + "key.doclength" : 34, + "key.docoffset" : 1181, + "key.filepath" : "Bicycle.swift", + "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> handlebar<\/decl.name>: Handlebar<\/ref.enum><\/decl.var.type><\/decl.var.instance>", + "key.kind" : "source.lang.swift.decl.var.instance", + "key.length" : 24, + "key.name" : "handlebar", + "key.namelength" : 9, + "key.nameoffset" : 1223, + "key.offset" : 1219, + "key.parsed_declaration" : "let handlebar: Handlebar", + "key.parsed_scope.end" : 51, + "key.parsed_scope.start" : 51, + "key.typename" : "Bicycle.Handlebar", + "key.typeusr" : "$s7BicycleAAC9HandlebarOD", + "key.usr" : "s:7BicycleAAC9handlebarAB9HandlebarOvp" + }, + { + "key.accessibility" : "source.lang.swift.accessibility.internal", + "key.annotated_decl" : "let frameSize: Int<\/Type><\/Declaration>", + "key.doc.column" : 9, + "key.doc.comment" : "The size of the frame, in centimeters.", + "key.doc.declaration" : "let frameSize: Int", + "key.doc.file" : "Bicycle.swift", + "key.doc.full_as_xml" : "frameSize<\/Name>s:7BicycleAAC9frameSizeSivp<\/USR>let frameSize: Int<\/Declaration>The size of the frame, in centimeters.<\/Para><\/Abstract><\/CommentParts><\/Other>", + "key.doc.line" : 54, + "key.doc.name" : "frameSize", + "key.doc.type" : "Other", + "key.doclength" : 43, + "key.docoffset" : 1249, + "key.filepath" : "Bicycle.swift", + "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> frameSize<\/decl.name>: Int<\/ref.struct><\/decl.var.type><\/decl.var.instance>", + "key.kind" : "source.lang.swift.decl.var.instance", + "key.length" : 18, + "key.name" : "frameSize", + "key.namelength" : 9, + "key.nameoffset" : 1300, + "key.offset" : 1296, + "key.parsed_declaration" : "let frameSize: Int", + "key.parsed_scope.end" : 54, + "key.parsed_scope.start" : 54, + "key.typename" : "Int", + "key.typeusr" : "$sSiD", + "key.usr" : "s:7BicycleAAC9frameSizeSivp" + }, + { + "key.accessibility" : "source.lang.swift.accessibility.internal", + "key.annotated_decl" : "private(set) var numberOfTrips: Int<\/Type> { get }<\/Declaration>", + "key.attributes" : [ + { + "key.attribute" : "source.decl.attribute.setter_access.private", + "key.length" : 12, + "key.offset" : 1374 + } + ], + "key.doc.column" : 22, + "key.doc.comment" : "The number of trips travelled by the bicycle.", + "key.doc.declaration" : "private(set) var numberOfTrips: Int { get }", + "key.doc.file" : "Bicycle.swift", + "key.doc.full_as_xml" : "numberOfTrips<\/Name>s:7BicycleAAC13numberOfTripsSivp<\/USR>private(set) var numberOfTrips: Int { get }<\/Declaration>The number of trips travelled by the bicycle.<\/Para><\/Abstract><\/CommentParts><\/Other>", + "key.doc.line" : 57, + "key.doc.name" : "numberOfTrips", + "key.doc.type" : "Other", + "key.doclength" : 50, + "key.docoffset" : 1320, + "key.filepath" : "Bicycle.swift", + "key.fully_annotated_decl" : "private<\/syntaxtype.keyword>(set) var<\/syntaxtype.keyword> numberOfTrips<\/decl.name>: Int<\/ref.struct><\/decl.var.type> { get }<\/decl.var.instance>", + "key.kind" : "source.lang.swift.decl.var.instance", + "key.length" : 22, + "key.name" : "numberOfTrips", + "key.namelength" : 13, + "key.nameoffset" : 1391, + "key.offset" : 1387, + "key.parsed_declaration" : "private(set) var numberOfTrips: Int", + "key.parsed_scope.end" : 57, + "key.parsed_scope.start" : 57, + "key.setter_accessibility" : "source.lang.swift.accessibility.private", + "key.typename" : "Int", + "key.typeusr" : "$sSiD", + "key.usr" : "s:7BicycleAAC13numberOfTripsSivp" + }, + { + "key.accessibility" : "source.lang.swift.accessibility.internal", + "key.annotated_decl" : "private(set) var distanceTravelled: Double<\/Type> { get }<\/Declaration>", + "key.attributes" : [ + { + "key.attribute" : "source.decl.attribute.setter_access.private", + "key.length" : 12, + "key.offset" : 1479 + } + ], + "key.doc.column" : 22, + "key.doc.comment" : "The total distance travelled by the bicycle, in meters.", + "key.doc.declaration" : "private(set) var distanceTravelled: Double { get }", + "key.doc.file" : "Bicycle.swift", + "key.doc.full_as_xml" : "distanceTravelled<\/Name>s:7BicycleAAC17distanceTravelledSdvp<\/USR>private(set) var distanceTravelled: Double { get }<\/Declaration>The total distance travelled by the bicycle, in meters.<\/Para><\/Abstract><\/CommentParts><\/Other>", + "key.doc.line" : 60, + "key.doc.name" : "distanceTravelled", + "key.doc.type" : "Other", + "key.doclength" : 60, + "key.docoffset" : 1415, + "key.filepath" : "Bicycle.swift", + "key.fully_annotated_decl" : "private<\/syntaxtype.keyword>(set) var<\/syntaxtype.keyword> distanceTravelled<\/decl.name>: Double<\/ref.struct><\/decl.var.type> { get }<\/decl.var.instance>", + "key.kind" : "source.lang.swift.decl.var.instance", + "key.length" : 29, + "key.name" : "distanceTravelled", + "key.namelength" : 17, + "key.nameoffset" : 1496, + "key.offset" : 1492, + "key.parsed_declaration" : "private(set) var distanceTravelled: Double", + "key.parsed_scope.end" : 60, + "key.parsed_scope.start" : 60, + "key.setter_accessibility" : "source.lang.swift.accessibility.private", + "key.typename" : "Double", + "key.typeusr" : "$sSdD", + "key.usr" : "s:7BicycleAAC17distanceTravelledSdvp" + }, + { + "key.accessibility" : "source.lang.swift.accessibility.internal", + "key.annotated_decl" : "init(style: Style<\/Type>, gearing: Gearing<\/Type>, handlebar: Handlebar<\/Type>, frameSize centimeters: Int<\/Type>)<\/Declaration>", + "key.bodylength" : 192, + "key.bodyoffset" : 2010, + "key.doc.column" : 5, + "key.doc.comment" : "Initializes a new bicycle with the provided parts and specifications.\n\n- parameter style: The style of the bicycle\n- parameter gearing: The gearing of the bicycle\n- parameter handlebar: The handlebar of the bicycle\n- parameter centimeters: The frame size of the bicycle, in centimeters\n\n- returns: A beautiful, brand-new, custom built just for you.", + "key.doc.declaration" : "init(style: Style, gearing: Gearing, handlebar: Handlebar, frameSize centimeters: Int)", + "key.doc.file" : "Bicycle.swift", + "key.doc.full_as_xml" : "init(style:gearing:handlebar:frameSize:)<\/Name>s:7BicycleAAC5style7gearing9handlebar9frameSizeA2B5StyleO_AB7GearingOAB9HandlebarOSitcfc<\/USR>init(style: Style, gearing: Gearing, handlebar: Handlebar, frameSize centimeters: Int)<\/Declaration>Initializes a new bicycle with the provided parts and specifications.<\/Para><\/Abstract>style<\/Name>in<\/Direction>The style of the bicycle<\/Para><\/Discussion><\/Parameter>gearing<\/Name>in<\/Direction>The gearing of the bicycle<\/Para><\/Discussion><\/Parameter>handlebar<\/Name>in<\/Direction>The handlebar of the bicycle<\/Para><\/Discussion><\/Parameter>centimeters<\/Name>in<\/Direction>The frame size of the bicycle, in centimeters<\/Para><\/Discussion><\/Parameter><\/Parameters>A beautiful, brand-new, custom built just for you.<\/Para><\/ResultDiscussion><\/CommentParts><\/Function>", + "key.doc.line" : 72, + "key.doc.name" : "init(style:gearing:handlebar:frameSize:)", + "key.doc.parameters" : [ + { + "discussion" : [ + { + "Para" : "The style of the bicycle" + } + ], + "name" : "style" + }, + { + "discussion" : [ + { + "Para" : "The gearing of the bicycle" + } + ], + "name" : "gearing" + }, + { + "discussion" : [ + { + "Para" : "The handlebar of the bicycle" + } + ], + "name" : "handlebar" + }, + { + "discussion" : [ + { + "Para" : "The frame size of the bicycle, in centimeters" + } + ], + "name" : "centimeters" + } + ], + "key.doc.result_discussion" : [ + { + "Para" : "A beautiful, brand-new, custom built just for you." + } + ], + "key.doc.type" : "Function", + "key.doclength" : 390, + "key.docoffset" : 1527, + "key.filepath" : "Bicycle.swift", + "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>(style<\/decl.var.parameter.argument_label>: Style<\/ref.enum><\/decl.var.parameter.type><\/decl.var.parameter>, gearing<\/decl.var.parameter.argument_label>: Gearing<\/ref.enum><\/decl.var.parameter.type><\/decl.var.parameter>, handlebar<\/decl.var.parameter.argument_label>: Handlebar<\/ref.enum><\/decl.var.parameter.type><\/decl.var.parameter>, frameSize<\/decl.var.parameter.argument_label> centimeters<\/decl.var.parameter.name>: Int<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>", + "key.kind" : "source.lang.swift.decl.function.method.instance", + "key.length" : 281, + "key.name" : "init(style:gearing:handlebar:frameSize:)", + "key.namelength" : 86, + "key.nameoffset" : 1922, + "key.offset" : 1922, + "key.parsed_declaration" : "init(style: Style, gearing: Gearing, handlebar: Handlebar, frameSize centimeters: Int)", + "key.parsed_scope.end" : 80, + "key.parsed_scope.start" : 72, + "key.substructure" : [ + + ], + "key.typename" : "(Bicycle.Type) -> (Bicycle.Style, Bicycle.Gearing, Bicycle.Handlebar, Int) -> Bicycle", + "key.typeusr" : "$s5style7gearing9handlebar9frameSize7BicycleAECAF5StyleO_AF7GearingOAF9HandlebarOSitcD", + "key.usr" : "s:7BicycleAAC5style7gearing9handlebar9frameSizeA2B5StyleO_AB7GearingOAB9HandlebarOSitcfc" + }, + { + "key.accessibility" : "source.lang.swift.accessibility.internal", + "key.annotated_decl" : "func travel(distance meters: Double<\/Type>)<\/Declaration>", + "key.bodylength" : 112, + "key.bodyoffset" : 2356, + "key.doc.column" : 10, + "key.doc.comment" : "Take a bike out for a spin.\n\n- parameter meters: The distance to travel in meters.", + "key.doc.declaration" : "func travel(distance meters: Double)", + "key.doc.file" : "Bicycle.swift", + "key.doc.full_as_xml" : "travel(distance:)<\/Name>s:7BicycleAAC6travel8distanceySd_tF<\/USR>func travel(distance meters: Double)<\/Declaration>Take a bike out for a spin.<\/Para><\/Abstract>meters<\/Name>in<\/Direction>The distance to travel in meters.<\/Para><\/Discussion><\/Parameter><\/Parameters><\/CommentParts><\/Function>", + "key.doc.line" : 87, + "key.doc.name" : "travel(distance:)", + "key.doc.parameters" : [ + { + "discussion" : [ + { + "Para" : "The distance to travel in meters." + } + ], + "name" : "meters" + } + ], + "key.doc.type" : "Function", + "key.doclength" : 104, + "key.docoffset" : 2209, + "key.filepath" : "Bicycle.swift", + "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> travel<\/decl.name>(distance<\/decl.var.parameter.argument_label> meters<\/decl.var.parameter.name>: Double<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>", + "key.kind" : "source.lang.swift.decl.function.method.instance", + "key.length" : 151, + "key.name" : "travel(distance:)", + "key.namelength" : 31, + "key.nameoffset" : 2323, + "key.offset" : 2318, + "key.parsed_declaration" : "func travel(distance meters: Double)", + "key.parsed_scope.end" : 92, + "key.parsed_scope.start" : 87, + "key.substructure" : [ + + ], + "key.typename" : "(Bicycle) -> (Double) -> ()", + "key.typeusr" : "$s8distanceySd_tcD", + "key.usr" : "s:7BicycleAAC6travel8distanceySd_tF" + } + ], + "key.typename" : "Bicycle.Type", + "key.typeusr" : "$s7BicycleAACmD", + "key.usr" : "s:7BicycleAAC" + } + ] + } +} \ No newline at end of file diff --git a/Tests/SourceKittenFrameworkTests/Fixtures/Extension@swift-5.3.json b/Tests/SourceKittenFrameworkTests/Fixtures/Extension@swift-5.3.json new file mode 100644 index 000000000..86cc1bb72 --- /dev/null +++ b/Tests/SourceKittenFrameworkTests/Fixtures/Extension@swift-5.3.json @@ -0,0 +1,306 @@ +{ + "Extension.swift" : { + "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse", + "key.length" : 504, + "key.offset" : 0, + "key.substructure" : [ + { + "key.accessibility" : "source.lang.swift.accessibility.internal", + "key.annotated_decl" : "class Base<\/Declaration>", + "key.bodylength" : 166, + "key.bodyoffset" : 29, + "key.doc.column" : 7, + "key.doc.comment" : "Doc for Base", + "key.doc.declaration" : "class Base", + "key.doc.file" : "Extension.swift", + "key.doc.full_as_xml" : "Base<\/Name>s:9Extension4BaseC<\/USR>class Base<\/Declaration>Doc for Base<\/Para><\/Abstract><\/CommentParts><\/Class>", + "key.doc.line" : 2, + "key.doc.name" : "Base", + "key.doc.type" : "Class", + "key.doclength" : 17, + "key.docoffset" : 0, + "key.filepath" : "Extension.swift", + "key.fully_annotated_decl" : "class<\/syntaxtype.keyword> Base<\/decl.name><\/decl.class>", + "key.kind" : "source.lang.swift.decl.class", + "key.length" : 179, + "key.name" : "Base", + "key.namelength" : 4, + "key.nameoffset" : 23, + "key.offset" : 17, + "key.parsed_declaration" : "class Base", + "key.parsed_scope.end" : 14, + "key.parsed_scope.start" : 2, + "key.substructure" : [ + { + "key.accessibility" : "source.lang.swift.accessibility.internal", + "key.annotated_decl" : "typealias Base<\/Type>.Index = Int<\/Type><\/Declaration>", + "key.doc.column" : 15, + "key.doc.comment" : "Doc for Base.Index", + "key.doc.declaration" : "typealias Extension.Base.Index = Int", + "key.doc.file" : "Extension.swift", + "key.doc.full_as_xml" : "Index<\/Name>s:9Extension4BaseC5Indexa<\/USR>typealias Extension.Base.Index = Int<\/Declaration>Doc for Base.Index<\/Para><\/Abstract><\/CommentParts><\/Other>", + "key.doc.line" : 5, + "key.doc.name" : "Index", + "key.doc.type" : "Other", + "key.doclength" : 23, + "key.docoffset" : 35, + "key.filepath" : "Extension.swift", + "key.fully_annotated_decl" : "typealias<\/syntaxtype.keyword> Base<\/ref.class>.Index<\/decl.name> = Int<\/ref.struct><\/decl.typealias>", + "key.kind" : "source.lang.swift.decl.typealias", + "key.length" : 21, + "key.name" : "Index", + "key.namelength" : 5, + "key.nameoffset" : 72, + "key.offset" : 62, + "key.parsed_declaration" : "typealias Index = Int", + "key.parsed_scope.end" : 5, + "key.parsed_scope.start" : 5, + "key.typename" : "Int.Type", + "key.typeusr" : "$sSimD", + "key.usr" : "s:9Extension4BaseC5Indexa" + }, + { + "key.accessibility" : "source.lang.swift.accessibility.internal", + "key.annotated_decl" : "func f(index: Index<\/Type>)<\/Declaration>", + "key.bodylength" : 5, + "key.bodyoffset" : 134, + "key.doc.column" : 10, + "key.doc.comment" : "Doc for Base.f", + "key.doc.declaration" : "func f(index: Index)", + "key.doc.file" : "Extension.swift", + "key.doc.full_as_xml" : "f(index:)<\/Name>s:9Extension4BaseC1f5indexySi_tF<\/USR>func f(index: Index)<\/Declaration>Doc for Base.f<\/Para><\/Abstract><\/CommentParts><\/Function>", + "key.doc.line" : 8, + "key.doc.name" : "f(index:)", + "key.doc.type" : "Function", + "key.doclength" : 19, + "key.docoffset" : 89, + "key.filepath" : "Extension.swift", + "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> f<\/decl.name>(index<\/decl.var.parameter.argument_label>: Index<\/ref.typealias><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>", + "key.kind" : "source.lang.swift.decl.function.method.instance", + "key.length" : 28, + "key.name" : "f(index:)", + "key.namelength" : 15, + "key.nameoffset" : 117, + "key.offset" : 112, + "key.parsed_declaration" : "func f(index: Index)", + "key.parsed_scope.end" : 9, + "key.parsed_scope.start" : 8, + "key.substructure" : [ + + ], + "key.typename" : "(Base) -> (Int) -> ()", + "key.typeusr" : "$s5indexySi_tcD", + "key.usr" : "s:9Extension4BaseC1f5indexySi_tF" + }, + { + "key.accessibility" : "source.lang.swift.accessibility.internal", + "key.annotated_decl" : "class Base<\/Type>.Nested<\/Declaration>", + "key.bodylength" : 5, + "key.bodyoffset" : 188, + "key.doc.column" : 11, + "key.doc.comment" : "Doc for Base.Nested", + "key.doc.declaration" : "class Extension.Base.Nested", + "key.doc.file" : "Extension.swift", + "key.doc.full_as_xml" : "Nested<\/Name>s:9Extension4BaseC6NestedC<\/USR>class Extension.Base.Nested<\/Declaration>Doc for Base.Nested<\/Para><\/Abstract><\/CommentParts><\/Class>", + "key.doc.line" : 12, + "key.doc.name" : "Nested", + "key.doc.type" : "Class", + "key.doclength" : 24, + "key.docoffset" : 146, + "key.filepath" : "Extension.swift", + "key.fully_annotated_decl" : "class<\/syntaxtype.keyword> Base<\/ref.class>.Nested<\/decl.name><\/decl.class>", + "key.kind" : "source.lang.swift.decl.class", + "key.length" : 20, + "key.name" : "Nested", + "key.namelength" : 6, + "key.nameoffset" : 180, + "key.offset" : 174, + "key.parsed_declaration" : "class Nested", + "key.parsed_scope.end" : 13, + "key.parsed_scope.start" : 12, + "key.typename" : "Base.Nested.Type", + "key.typeusr" : "$s9Extension4BaseC6NestedCmD", + "key.usr" : "s:9Extension4BaseC6NestedC" + } + ], + "key.typename" : "Base.Type", + "key.typeusr" : "$s9Extension4BaseCmD", + "key.usr" : "s:9Extension4BaseC" + }, + { + "key.annotated_decl" : "class Base<\/Declaration>", + "key.bodylength" : 155, + "key.bodyoffset" : 214, + "key.doc.column" : 7, + "key.doc.declaration" : "class Base", + "key.doc.file" : "Extension.swift", + "key.doc.full_as_xml" : "Base<\/Name>s:9Extension4BaseC<\/USR>class Base<\/Declaration>Doc for Base<\/Para><\/Abstract><\/CommentParts><\/Class>", + "key.doc.line" : 2, + "key.doc.name" : "Base", + "key.doc.type" : "Class", + "key.filepath" : "Extension.swift", + "key.fully_annotated_decl" : "class<\/syntaxtype.keyword> Base<\/decl.name><\/decl.class>", + "key.kind" : "source.lang.swift.decl.extension", + "key.length" : 172, + "key.name" : "Base", + "key.namelength" : 4, + "key.nameoffset" : 208, + "key.offset" : 198, + "key.parsed_declaration" : "extension Base", + "key.parsed_scope.end" : 24, + "key.parsed_scope.start" : 16, + "key.substructure" : [ + { + "key.annotated_decl" : "typealias ExtendedIndex = Double<\/Type><\/Declaration>", + "key.doc.column" : 15, + "key.doc.comment" : "Doc for Base.ExtendedIndex", + "key.doc.declaration" : "typealias ExtendedIndex = Double", + "key.doc.file" : "Extension.swift", + "key.doc.full_as_xml" : "ExtendedIndex<\/Name>s:9Extension4BaseC13ExtendedIndexa<\/USR>typealias ExtendedIndex = Double<\/Declaration>Doc for Base.ExtendedIndex<\/Para><\/Abstract><\/CommentParts><\/Other>", + "key.doc.line" : 19, + "key.doc.name" : "ExtendedIndex", + "key.doc.type" : "Other", + "key.doclength" : 31, + "key.docoffset" : 220, + "key.filepath" : "Extension.swift", + "key.fully_annotated_decl" : "typealias<\/syntaxtype.keyword> ExtendedIndex<\/decl.name> = Double<\/ref.struct><\/decl.typealias>", + "key.kind" : "source.lang.swift.decl.typealias", + "key.length" : 32, + "key.name" : "ExtendedIndex", + "key.namelength" : 13, + "key.nameoffset" : 265, + "key.offset" : 255, + "key.parsed_declaration" : "typealias ExtendedIndex = Double", + "key.parsed_scope.end" : 19, + "key.parsed_scope.start" : 19, + "key.typename" : "Double.Type", + "key.typeusr" : "$sSdmD", + "key.usr" : "s:9Extension4BaseC13ExtendedIndexa" + }, + { + "key.annotated_decl" : "func extendedF(index: ExtendedIndex<\/Type>)<\/Declaration>", + "key.bodylength" : 5, + "key.bodyoffset" : 362, + "key.doc.column" : 10, + "key.doc.comment" : "Doc for Base.extendedF", + "key.doc.declaration" : "func extendedF(index: ExtendedIndex)", + "key.doc.file" : "Extension.swift", + "key.doc.full_as_xml" : "extendedF(index:)<\/Name>s:9Extension4BaseC9extendedF5indexySd_tF<\/USR>func extendedF(index: ExtendedIndex)<\/Declaration>Doc for Base.extendedF<\/Para><\/Abstract><\/CommentParts><\/Function>", + "key.doc.line" : 22, + "key.doc.name" : "extendedF(index:)", + "key.doc.type" : "Function", + "key.doclength" : 27, + "key.docoffset" : 293, + "key.filepath" : "Extension.swift", + "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> extendedF<\/decl.name>(index<\/decl.var.parameter.argument_label>: ExtendedIndex<\/ref.typealias><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>", + "key.kind" : "source.lang.swift.decl.function.method.instance", + "key.length" : 44, + "key.name" : "extendedF(index:)", + "key.namelength" : 31, + "key.nameoffset" : 329, + "key.offset" : 324, + "key.parsed_declaration" : "func extendedF(index: ExtendedIndex)", + "key.parsed_scope.end" : 23, + "key.parsed_scope.start" : 22, + "key.substructure" : [ + + ], + "key.typename" : "(Base) -> (Double) -> ()", + "key.typeusr" : "$s5indexySd_tcD", + "key.usr" : "s:9Extension4BaseC9extendedF5indexySd_tF" + } + ], + "key.typename" : "Base.Type", + "key.typeusr" : "$s9Extension4BaseCmD", + "key.usr" : "s:9Extension4BaseC" + }, + { + "key.annotated_decl" : "class Base<\/Type>.Nested<\/Declaration>", + "key.bodylength" : 1, + "key.bodyoffset" : 436, + "key.doc.column" : 11, + "key.doc.declaration" : "class Extension.Base.Nested", + "key.doc.file" : "Extension.swift", + "key.doc.full_as_xml" : "Nested<\/Name>s:9Extension4BaseC6NestedC<\/USR>class Extension.Base.Nested<\/Declaration>Doc for Base.Nested<\/Para><\/Abstract><\/CommentParts><\/Class>", + "key.doc.line" : 12, + "key.doc.name" : "Nested", + "key.doc.type" : "Class", + "key.filepath" : "Extension.swift", + "key.fully_annotated_decl" : "class<\/syntaxtype.keyword> Base<\/ref.class>.Nested<\/decl.name><\/decl.class>", + "key.kind" : "source.lang.swift.decl.extension", + "key.length" : 25, + "key.name" : "Base.Nested", + "key.namelength" : 11, + "key.nameoffset" : 423, + "key.offset" : 413, + "key.parsed_declaration" : "extension Base.Nested", + "key.parsed_scope.end" : 29, + "key.parsed_scope.start" : 28, + "key.typename" : "Base.Nested.Type", + "key.typeusr" : "$s9Extension4BaseC6NestedCmD", + "key.usr" : "s:9Extension4BaseC6NestedC" + }, + { + "key.accessibility" : "source.lang.swift.accessibility.internal", + "key.annotated_decl" : "class 🐽<\/Declaration>", + "key.bodylength" : 25, + "key.bodyoffset" : 452, + "key.filepath" : "Extension.swift", + "key.fully_annotated_decl" : "class<\/syntaxtype.keyword> 🐽<\/decl.name><\/decl.class>", + "key.kind" : "source.lang.swift.decl.class", + "key.length" : 38, + "key.name" : "🐽", + "key.namelength" : 4, + "key.nameoffset" : 446, + "key.offset" : 440, + "key.parsed_declaration" : "class 🐽", + "key.parsed_scope.end" : 34, + "key.parsed_scope.start" : 31, + "key.substructure" : [ + { + "key.accessibility" : "source.lang.swift.accessibility.internal", + "key.annotated_decl" : "struct 🐽<\/Type>.🐧<\/Declaration>", + "key.bodylength" : 5, + "key.bodyoffset" : 470, + "key.filepath" : "Extension.swift", + "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> 🐽<\/ref.class>.🐧<\/decl.name><\/decl.struct>", + "key.kind" : "source.lang.swift.decl.struct", + "key.length" : 19, + "key.name" : "🐧", + "key.namelength" : 4, + "key.nameoffset" : 464, + "key.offset" : 457, + "key.parsed_declaration" : "struct 🐧", + "key.parsed_scope.end" : 33, + "key.parsed_scope.start" : 32, + "key.typename" : "🐽.🐧.Type", + "key.typeusr" : "$s9Extension004ipIhC004voIhVmD", + "key.usr" : "s:9Extension004ipIhC004voIhV" + } + ], + "key.typename" : "🐽.Type", + "key.typeusr" : "$s9Extension004ipIhCmD", + "key.usr" : "s:9Extension004ipIhC" + }, + { + "key.annotated_decl" : "struct 🐽<\/Type>.🐧<\/Declaration>", + "key.bodylength" : 1, + "key.bodyoffset" : 501, + "key.filepath" : "Extension.swift", + "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> 🐽<\/ref.class>.🐧<\/decl.name><\/decl.struct>", + "key.kind" : "source.lang.swift.decl.extension", + "key.length" : 23, + "key.name" : "🐽.🐧", + "key.namelength" : 9, + "key.nameoffset" : 490, + "key.offset" : 480, + "key.parsed_declaration" : "extension 🐽.🐧", + "key.parsed_scope.end" : 37, + "key.parsed_scope.start" : 36, + "key.typename" : "🐽.🐧.Type", + "key.typeusr" : "$s9Extension004ipIhC004voIhVmD", + "key.usr" : "s:9Extension004ipIhC004voIhV" + } + ] + } +} \ No newline at end of file diff --git a/Tests/SourceKittenFrameworkTests/StructureTests.swift b/Tests/SourceKittenFrameworkTests/StructureTests.swift index 0954e50d6..afd7ae931 100644 --- a/Tests/SourceKittenFrameworkTests/StructureTests.swift +++ b/Tests/SourceKittenFrameworkTests/StructureTests.swift @@ -75,7 +75,7 @@ class StructureTests: XCTestCase { func testInheritedType() throws { let structure = try Structure(file: File(contents: "class Foo: Bar {}")) -#if os(Linux) && compiler(>=5.3) +#if compiler(>=5.3) let expected: NSDictionary = [ "key.substructure": [ [