{ key.offset: 0, key.length: 3126, key.diagnostic_stage: source.diagnostic.stage.swift.parse, key.substructure: [ { key.kind: source.lang.swift.decl.class, key.accessibility: source.lang.swift.accessibility.internal, key.name: "Foo", key.offset: 0, key.length: 173, key.nameoffset: 6, key.namelength: 3, key.bodyoffset: 17, key.bodylength: 155, key.inheritedtypes: [ { key.name: "Bar" } ], key.elements: [ { key.kind: source.lang.swift.structure.elem.typeref, key.offset: 12, key.length: 3 } ], key.substructure: [ { key.kind: source.lang.swift.decl.var.instance, key.accessibility: source.lang.swift.accessibility.internal, key.setter_accessibility: source.lang.swift.accessibility.internal, key.name: "test", key.offset: 22, key.length: 14, key.typename: "Int", key.nameoffset: 26, key.namelength: 4 }, { key.kind: source.lang.swift.decl.var.instance, key.accessibility: source.lang.swift.accessibility.internal, key.setter_accessibility: source.lang.swift.accessibility.internal, key.name: "testOutlet", key.offset: 51, key.length: 20, key.typename: "Int", key.nameoffset: 55, key.namelength: 10, key.attributes: [ { key.offset: 41, key.length: 9, key.attribute: source.decl.attribute.iboutlet } ] }, { key.kind: source.lang.swift.decl.function.method.instance, key.accessibility: source.lang.swift.accessibility.internal, key.name: "testMethod()", key.offset: 77, key.length: 53, key.nameoffset: 82, key.namelength: 12, key.bodyoffset: 96, key.bodylength: 33, key.substructure: [ { key.kind: source.lang.swift.stmt.if, key.offset: 105, key.length: 19, key.elements: [ { key.kind: source.lang.swift.structure.elem.condition_expr, key.offset: 108, key.length: 4 } ], key.substructure: [ { key.kind: source.lang.swift.stmt.brace, key.offset: 113, key.length: 11, key.bodyoffset: 114, key.bodylength: 9 } ] } ] }, { key.kind: source.lang.swift.decl.function.method.instance, key.accessibility: source.lang.swift.accessibility.internal, key.name: "testAction()", key.offset: 146, key.length: 25, key.selector_name: "testAction", key.nameoffset: 151, key.namelength: 12, key.bodyoffset: 165, key.bodylength: 5, key.attributes: [ { key.offset: 136, key.length: 9, key.attribute: source.decl.attribute.ibaction } ] } ] }, { key.kind: source.lang.swift.decl.class, key.accessibility: source.lang.swift.accessibility.internal, key.name: "Foo2", key.offset: 189, key.length: 13, key.nameoffset: 195, key.namelength: 4, key.bodyoffset: 201, key.bodylength: 0, key.attributes: [ { key.offset: 175, key.length: 13, key.attribute: source.decl.attribute.ibdesignable } ] }, { key.kind: source.lang.swift.decl.class, key.accessibility: source.lang.swift.accessibility.internal, key.name: "Foo3", key.offset: 204, key.length: 108, key.nameoffset: 210, key.namelength: 4, key.bodyoffset: 216, key.bodylength: 95, key.substructure: [ { key.kind: source.lang.swift.decl.var.instance, key.accessibility: source.lang.swift.accessibility.internal, key.setter_accessibility: source.lang.swift.accessibility.internal, key.name: "testIBInspectable", key.offset: 236, key.length: 27, key.typename: "Int", key.nameoffset: 240, key.namelength: 17, key.attributes: [ { key.offset: 221, key.length: 14, key.attribute: source.decl.attribute.ibinspectable } ] }, { key.kind: source.lang.swift.decl.var.instance, key.accessibility: source.lang.swift.accessibility.internal, key.setter_accessibility: source.lang.swift.accessibility.internal, key.name: "testGKInspectable", key.offset: 283, key.length: 27, key.typename: "Int", key.nameoffset: 287, key.namelength: 17, key.attributes: [ { key.offset: 268, key.length: 14, key.attribute: source.decl.attribute.gkinspectable } ] } ] }, { key.kind: source.lang.swift.decl.protocol, key.accessibility: source.lang.swift.accessibility.internal, key.name: "MyProt", key.offset: 314, key.length: 18, key.nameoffset: 323, key.namelength: 6, key.bodyoffset: 331, key.bodylength: 0 }, { key.kind: source.lang.swift.decl.class, key.accessibility: source.lang.swift.accessibility.internal, key.name: "OuterCls", key.offset: 334, key.length: 41, key.nameoffset: 340, key.namelength: 8, key.bodyoffset: 350, key.bodylength: 24, key.substructure: [ { key.kind: source.lang.swift.decl.class, key.accessibility: source.lang.swift.accessibility.internal, key.name: "InnerCls1", key.offset: 355, key.length: 18, key.nameoffset: 361, key.namelength: 9, key.bodyoffset: 372, key.bodylength: 0 } ] }, { key.kind: source.lang.swift.decl.extension, key.name: "OuterCls", key.offset: 377, key.length: 45, key.nameoffset: 387, key.namelength: 8, key.bodyoffset: 397, key.bodylength: 24, key.substructure: [ { key.kind: source.lang.swift.decl.class, key.name: "InnerCls2", key.offset: 402, key.length: 18, key.nameoffset: 408, key.namelength: 9, key.bodyoffset: 419, key.bodylength: 0 } ] }, { key.kind: source.lang.swift.decl.class, key.accessibility: source.lang.swift.accessibility.internal, key.name: "GenCls", key.offset: 424, key.length: 23, key.nameoffset: 430, key.namelength: 6, key.bodyoffset: 446, key.bodylength: 0, key.substructure: [ { key.kind: source.lang.swift.decl.generic_type_param, key.name: "T1", key.offset: 437, key.length: 2, key.nameoffset: 437, key.namelength: 2 }, { key.kind: source.lang.swift.decl.generic_type_param, key.name: "T2", key.offset: 441, key.length: 2, key.nameoffset: 441, key.namelength: 2 } ] }, { key.kind: source.lang.swift.decl.class, key.accessibility: source.lang.swift.accessibility.internal, key.name: "TestParamAndCall", key.offset: 449, key.length: 212, key.nameoffset: 455, key.namelength: 16, key.bodyoffset: 473, key.bodylength: 187, key.substructure: [ { key.kind: source.lang.swift.decl.function.method.instance, key.accessibility: source.lang.swift.accessibility.internal, key.name: "testParams(arg1:name:)", key.offset: 478, key.length: 120, key.nameoffset: 483, key.namelength: 35, key.bodyoffset: 520, key.bodylength: 77, key.substructure: [ { key.kind: source.lang.swift.decl.var.parameter, key.name: "arg1", key.offset: 494, key.length: 9, key.typename: "Int", key.nameoffset: 494, key.namelength: 4 }, { key.kind: source.lang.swift.decl.var.parameter, key.name: "name", key.offset: 505, key.length: 12, key.typename: "String", key.nameoffset: 505, key.namelength: 4 }, { key.kind: source.lang.swift.stmt.if, key.offset: 529, key.length: 63, key.elements: [ { key.kind: source.lang.swift.structure.elem.condition_expr, key.offset: 532, key.length: 6 } ], key.substructure: [ { key.kind: source.lang.swift.stmt.brace, key.offset: 539, key.length: 53, key.bodyoffset: 540, key.bodylength: 51, key.substructure: [ { key.kind: source.lang.swift.expr.call, key.name: "testParams", key.offset: 553, key.length: 29, key.nameoffset: 553, key.namelength: 10, key.bodyoffset: 564, key.bodylength: 17, key.substructure: [ { key.kind: source.lang.swift.expr.argument, key.offset: 564, key.length: 1, key.bodyoffset: 564, key.bodylength: 1 }, { key.kind: source.lang.swift.expr.argument, key.name: "name", key.offset: 567, key.length: 14, key.nameoffset: 567, key.namelength: 4, key.bodyoffset: 572, key.bodylength: 9 } ] } ] } ] } ] }, { key.kind: source.lang.swift.decl.function.method.instance, key.accessibility: source.lang.swift.accessibility.internal, key.name: "testParamAndArg(arg1:param:)", key.offset: 604, key.length: 55, key.nameoffset: 609, key.namelength: 42, key.bodyoffset: 653, key.bodylength: 5, key.substructure: [ { key.kind: source.lang.swift.decl.var.parameter, key.name: "arg1", key.offset: 625, key.length: 9, key.typename: "Int", key.nameoffset: 625, key.namelength: 4 }, { key.kind: source.lang.swift.decl.var.parameter, key.name: "par", key.offset: 636, key.length: 14, key.typename: "Int", key.nameoffset: 636, key.namelength: 5 } ] } ] }, { key.kind: source.lang.swift.syntaxtype.comment.mark, key.offset: 666, key.length: 16 }, { key.kind: source.lang.swift.decl.class, key.accessibility: source.lang.swift.accessibility.internal, key.name: "TestMarkers", key.offset: 684, key.length: 206, key.nameoffset: 690, key.namelength: 11, key.bodyoffset: 703, key.bodylength: 186, key.substructure: [ { key.kind: source.lang.swift.syntaxtype.comment.mark, key.offset: 711, key.length: 16 }, { key.kind: source.lang.swift.decl.function.method.instance, key.accessibility: source.lang.swift.accessibility.internal, key.name: "test(arg1:)", key.offset: 732, key.length: 156, key.typename: "Int", key.nameoffset: 737, key.namelength: 16, key.bodyoffset: 762, key.bodylength: 125, key.substructure: [ { key.kind: source.lang.swift.decl.var.parameter, key.name: "arg1", key.offset: 742, key.length: 10, key.typename: "Bool", key.nameoffset: 742, key.namelength: 4 }, { key.kind: source.lang.swift.syntaxtype.comment.mark, key.offset: 774, key.length: 12 }, { key.kind: source.lang.swift.stmt.if, key.offset: 795, key.length: 70, key.elements: [ { key.kind: source.lang.swift.structure.elem.condition_expr, key.offset: 798, key.length: 6 } ], key.substructure: [ { key.kind: source.lang.swift.stmt.brace, key.offset: 805, key.length: 60, key.bodyoffset: 806, key.bodylength: 58, key.substructure: [ { key.kind: source.lang.swift.syntaxtype.comment.mark, key.offset: 822, key.length: 12 } ] } ] } ] } ] }, { key.kind: source.lang.swift.decl.function.free, key.accessibility: source.lang.swift.accessibility.internal, key.name: "test2(arg1:)", key.offset: 892, key.length: 105, key.nameoffset: 897, key.namelength: 17, key.bodyoffset: 916, key.bodylength: 80, key.substructure: [ { key.kind: source.lang.swift.decl.var.parameter, key.name: "arg1", key.offset: 903, key.length: 10, key.typename: "Bool", key.nameoffset: 903, key.namelength: 4 }, { key.kind: source.lang.swift.stmt.if, key.offset: 921, key.length: 74, key.elements: [ { key.kind: source.lang.swift.structure.elem.condition_expr, key.offset: 924, key.length: 6 } ], key.substructure: [ { key.kind: source.lang.swift.stmt.brace, key.offset: 931, key.length: 64, key.bodyoffset: 932, key.bodylength: 62, key.substructure: [ { key.kind: source.lang.swift.syntaxtype.comment.mark, key.offset: 960, key.length: 29 } ] } ] } ] }, { key.kind: source.lang.swift.decl.extension, key.name: "Foo", key.offset: 999, key.length: 58, key.nameoffset: 1009, key.namelength: 3, key.bodyoffset: 1014, key.bodylength: 42, key.substructure: [ { key.kind: source.lang.swift.decl.function.method.instance, key.name: "anExtendedFooFunction()", key.offset: 1019, key.length: 36, key.nameoffset: 1024, key.namelength: 23, key.bodyoffset: 1049, key.bodylength: 5 } ] }, { key.kind: source.lang.swift.decl.var.global, key.accessibility: source.lang.swift.accessibility.internal, key.setter_accessibility: source.lang.swift.accessibility.internal, key.offset: 1079, key.length: 3, key.nameoffset: 1079, key.namelength: 0 }, { key.kind: source.lang.swift.stmt.foreach, key.offset: 1114, key.length: 17, key.elements: [ { key.kind: source.lang.swift.structure.elem.id, key.offset: 1118, key.length: 1 }, { key.kind: source.lang.swift.structure.elem.expr, key.offset: 1123, key.length: 5 } ], key.substructure: [ { key.kind: source.lang.swift.decl.var.local, key.name: "i", key.offset: 1118, key.length: 1, key.nameoffset: 1118, key.namelength: 1 }, { key.kind: source.lang.swift.stmt.brace, key.offset: 1129, key.length: 2, key.bodyoffset: 1130, key.bodylength: 0 } ] }, { key.kind: source.lang.swift.stmt.foreach, key.offset: 1132, key.length: 37, key.elements: [ { key.kind: source.lang.swift.structure.elem.id, key.offset: 1136, key.length: 5 } ], key.substructure: [ { key.kind: source.lang.swift.decl.var.local, key.name: "i", key.offset: 1140, key.length: 1, key.nameoffset: 1140, key.namelength: 1 }, { key.kind: source.lang.swift.stmt.brace, key.offset: 1167, key.length: 2, key.bodyoffset: 1168, key.bodylength: 0 } ] }, { key.kind: source.lang.swift.stmt.while, key.offset: 1170, key.length: 36, key.elements: [ { key.kind: source.lang.swift.structure.elem.condition_expr, key.offset: 1176, key.length: 27 } ], key.substructure: [ { key.kind: source.lang.swift.decl.var.local, key.name: "v", key.offset: 1180, key.length: 1, key.nameoffset: 1180, key.namelength: 1 }, { key.kind: source.lang.swift.decl.var.local, key.name: "z", key.offset: 1191, key.length: 1, key.nameoffset: 1191, key.namelength: 1 }, { key.kind: source.lang.swift.stmt.brace, key.offset: 1204, key.length: 2, key.bodyoffset: 1205, key.bodylength: 0 } ] }, { key.kind: source.lang.swift.stmt.repeatwhile, key.offset: 1207, key.length: 22, key.elements: [ { key.kind: source.lang.swift.structure.elem.expr, key.offset: 1223, key.length: 6 } ], key.substructure: [ { key.kind: source.lang.swift.stmt.brace, key.offset: 1214, key.length: 2, key.bodyoffset: 1215, key.bodylength: 0 } ] }, { key.kind: source.lang.swift.stmt.if, key.offset: 1230, key.length: 33, key.elements: [ { key.kind: source.lang.swift.structure.elem.condition_expr, key.offset: 1233, key.length: 27 } ], key.substructure: [ { key.kind: source.lang.swift.decl.var.local, key.name: "v", key.offset: 1237, key.length: 1, key.nameoffset: 1237, key.namelength: 1 }, { key.kind: source.lang.swift.decl.var.local, key.name: "z", key.offset: 1248, key.length: 1, key.nameoffset: 1248, key.namelength: 1 }, { key.kind: source.lang.swift.stmt.brace, key.offset: 1261, key.length: 2, key.bodyoffset: 1262, key.bodylength: 0 } ] }, { key.kind: source.lang.swift.stmt.switch, key.offset: 1264, key.length: 67, key.elements: [ { key.kind: source.lang.swift.structure.elem.expr, key.offset: 1271, key.length: 1 } ], key.substructure: [ { key.kind: source.lang.swift.stmt.case, key.offset: 1277, key.length: 14, key.elements: [ { key.kind: source.lang.swift.structure.elem.pattern, key.offset: 1282, key.length: 1 } ] }, { key.kind: source.lang.swift.stmt.case, key.offset: 1294, key.length: 17, key.elements: [ { key.kind: source.lang.swift.structure.elem.pattern, key.offset: 1299, key.length: 1 }, { key.kind: source.lang.swift.structure.elem.pattern, key.offset: 1302, key.length: 1 } ] }, { key.kind: source.lang.swift.stmt.case, key.offset: 1314, key.length: 15, key.elements: [ { key.kind: source.lang.swift.structure.elem.pattern, key.offset: 1314, key.length: 7 } ] } ] }, { key.kind: source.lang.swift.decl.var.global, key.accessibility: source.lang.swift.accessibility.internal, key.name: "myArray", key.offset: 1333, key.length: 23, key.nameoffset: 1337, key.namelength: 7 }, { key.kind: source.lang.swift.expr.array, key.offset: 1347, key.length: 9, key.bodyoffset: 1348, key.bodylength: 7, key.elements: [ { key.kind: source.lang.swift.structure.elem.expr, key.offset: 1348, key.length: 1 }, { key.kind: source.lang.swift.structure.elem.expr, key.offset: 1351, key.length: 1 }, { key.kind: source.lang.swift.structure.elem.expr, key.offset: 1354, key.length: 1 } ] }, { key.kind: source.lang.swift.decl.var.global, key.accessibility: source.lang.swift.accessibility.internal, key.name: "myDict", key.offset: 1357, key.length: 28, key.nameoffset: 1361, key.namelength: 6 }, { key.kind: source.lang.swift.expr.dictionary, key.offset: 1370, key.length: 15, key.bodyoffset: 1371, key.bodylength: 13, key.elements: [ { key.kind: source.lang.swift.structure.elem.expr, key.offset: 1371, key.length: 1 }, { key.kind: source.lang.swift.structure.elem.expr, key.offset: 1373, key.length: 1 }, { key.kind: source.lang.swift.structure.elem.expr, key.offset: 1376, key.length: 1 }, { key.kind: source.lang.swift.structure.elem.expr, key.offset: 1378, key.length: 1 }, { key.kind: source.lang.swift.structure.elem.expr, key.offset: 1381, key.length: 1 }, { key.kind: source.lang.swift.structure.elem.expr, key.offset: 1383, key.length: 1 } ] }, { key.kind: source.lang.swift.decl.class, key.accessibility: source.lang.swift.accessibility.internal, key.name: "ClassObjcAttr", key.offset: 1412, key.length: 60, key.nameoffset: 1418, key.namelength: 13, key.bodyoffset: 1444, key.bodylength: 27, key.inheritedtypes: [ { key.name: "NSObject" } ], key.attributes: [ { key.offset: 1406, key.length: 5, key.attribute: source.decl.attribute.objc } ], key.elements: [ { key.kind: source.lang.swift.structure.elem.typeref, key.offset: 1434, key.length: 8 } ], key.substructure: [ { key.kind: source.lang.swift.decl.function.method.instance, key.accessibility: source.lang.swift.accessibility.internal, key.name: "m()", key.offset: 1459, key.length: 11, key.nameoffset: 1464, key.namelength: 3, key.bodyoffset: 1469, key.bodylength: 0, key.attributes: [ { key.offset: 1449, key.length: 5, key.attribute: source.decl.attribute.objc } ] } ] }, { key.kind: source.lang.swift.decl.class, key.accessibility: source.lang.swift.accessibility.internal, key.name: "ClassObjcAttr2", key.offset: 1486, key.length: 66, key.runtime_name: "Blah", key.nameoffset: 1492, key.namelength: 14, key.bodyoffset: 1519, key.bodylength: 32, key.inheritedtypes: [ { key.name: "NSObject" } ], key.attributes: [ { key.offset: 1474, key.length: 11, key.attribute: source.decl.attribute.objc.name } ], key.elements: [ { key.kind: source.lang.swift.structure.elem.typeref, key.offset: 1509, key.length: 8 } ], key.substructure: [ { key.kind: source.lang.swift.decl.function.method.instance, key.accessibility: source.lang.swift.accessibility.internal, key.name: "m()", key.offset: 1539, key.length: 11, key.nameoffset: 1544, key.namelength: 3, key.bodyoffset: 1549, key.bodylength: 0, key.attributes: [ { key.offset: 1524, key.length: 10, key.attribute: source.decl.attribute.objc.name } ] } ] }, { key.kind: source.lang.swift.decl.protocol, key.accessibility: source.lang.swift.accessibility.internal, key.name: "FooProtocol", key.offset: 1554, key.length: 81, key.nameoffset: 1563, key.namelength: 11, key.bodyoffset: 1576, key.bodylength: 58, key.substructure: [ { key.kind: source.lang.swift.decl.associatedtype, key.accessibility: source.lang.swift.accessibility.internal, key.name: "Bar", key.offset: 1581, key.length: 18, key.nameoffset: 1596, key.namelength: 3 }, { key.kind: source.lang.swift.decl.associatedtype, key.accessibility: source.lang.swift.accessibility.internal, key.name: "Baz", key.offset: 1604, key.length: 29, key.nameoffset: 1619, key.namelength: 3 } ] }, { key.kind: source.lang.swift.expr.call, key.name: "a.b", key.offset: 1684, key.length: 21, key.nameoffset: 1684, key.namelength: 3, key.bodyoffset: 1688, key.bodylength: 16, key.substructure: [ { key.kind: source.lang.swift.expr.argument, key.name: "c", key.offset: 1688, key.length: 10, key.nameoffset: 1688, key.namelength: 1, key.bodyoffset: 1691, key.bodylength: 7 }, { key.kind: source.lang.swift.expr.argument, key.name: "h", key.offset: 1700, key.length: 4, key.nameoffset: 1700, key.namelength: 1, key.bodyoffset: 1703, key.bodylength: 1 } ] }, { key.kind: source.lang.swift.expr.call, key.name: "`init`", key.offset: 1836, key.length: 25, key.nameoffset: 1836, key.namelength: 6, key.bodyoffset: 1843, key.bodylength: 17, key.substructure: [ { key.kind: source.lang.swift.expr.argument, key.name: "x", key.offset: 1843, key.length: 6, key.nameoffset: 1843, key.namelength: 1, key.bodyoffset: 1846, key.bodylength: 3 }, { key.kind: source.lang.swift.expr.argument, key.name: "y", key.offset: 1851, key.length: 6, key.nameoffset: 1851, key.namelength: 1, key.bodyoffset: 1854, key.bodylength: 3 }, { key.kind: source.lang.swift.expr.argument, key.offset: 1859, key.length: 2, key.bodyoffset: 1859, key.bodylength: 2, key.substructure: [ { key.kind: source.lang.swift.expr.closure, key.offset: 1859, key.length: 2, key.bodyoffset: 1860, key.bodylength: 0, key.substructure: [ { key.kind: source.lang.swift.stmt.brace, key.offset: 1859, key.length: 2, key.bodyoffset: 1860, key.bodylength: 0 } ] } ] } ] }, { key.kind: source.lang.swift.decl.class, key.accessibility: source.lang.swift.accessibility.internal, key.name: "C", key.offset: 1862, key.length: 119, key.nameoffset: 1868, key.namelength: 1, key.bodyoffset: 1871, key.bodylength: 109, key.substructure: [ { key.kind: source.lang.swift.decl.function.method.instance, key.accessibility: source.lang.swift.accessibility.internal, key.name: "init(x:y:)", key.offset: 1954, key.length: 25, key.nameoffset: 1954, key.namelength: 22, key.bodyoffset: 1978, key.bodylength: 0, key.substructure: [ { key.kind: source.lang.swift.decl.var.parameter, key.name: "x", key.offset: 1961, key.length: 6, key.typename: "Int", key.nameoffset: 1961, key.namelength: 1 }, { key.kind: source.lang.swift.decl.var.parameter, key.name: "y", key.offset: 1969, key.length: 6, key.typename: "Int", key.nameoffset: 1969, key.namelength: 1 } ] } ] }, { key.kind: source.lang.swift.decl.var.global, key.accessibility: source.lang.swift.accessibility.internal, key.setter_accessibility: source.lang.swift.accessibility.internal, key.name: "$", key.offset: 1982, key.length: 24, key.nameoffset: 1999, key.namelength: 1 }, { key.kind: source.lang.swift.decl.function.free, key.accessibility: source.lang.swift.accessibility.internal, key.name: "foo(x:)", key.offset: 2007, key.length: 34, key.nameoffset: 2025, key.namelength: 13, key.bodyoffset: 2040, key.bodylength: 0, key.substructure: [ { key.kind: source.lang.swift.decl.var.parameter, key.name: "x", key.offset: 2031, key.length: 6, key.typename: "Int", key.nameoffset: 2031, key.namelength: 1 } ] }, { key.kind: source.lang.swift.decl.enum, key.accessibility: source.lang.swift.accessibility.internal, key.name: "MyEnum", key.offset: 2062, key.length: 36, key.nameoffset: 2067, key.namelength: 6, key.bodyoffset: 2075, key.bodylength: 22, key.substructure: [ { key.kind: source.lang.swift.decl.enumcase, key.offset: 2078, key.length: 18, key.substructure: [ { key.kind: source.lang.swift.decl.enumelement, key.accessibility: source.lang.swift.accessibility.internal, key.name: "Bar(arg:)", key.offset: 2083, key.length: 13, key.nameoffset: 2083, key.namelength: 13, key.substructure: [ { key.kind: source.lang.swift.decl.var.parameter, key.name: "arg", key.offset: 2087, key.length: 8, key.typename: "Int", key.nameoffset: 2087, key.namelength: 3 } ] } ] } ] }, { key.kind: source.lang.swift.decl.enum, key.accessibility: source.lang.swift.accessibility.internal, key.name: "MySecondEnum", key.offset: 2100, key.length: 36, key.nameoffset: 2105, key.namelength: 12, key.bodyoffset: 2119, key.bodylength: 16, key.substructure: [ { key.kind: source.lang.swift.decl.enumcase, key.offset: 2122, key.length: 12, key.substructure: [ { key.kind: source.lang.swift.decl.enumelement, key.accessibility: source.lang.swift.accessibility.internal, key.name: "One", key.offset: 2127, key.length: 7, key.nameoffset: 2127, key.namelength: 3, key.elements: [ { key.kind: source.lang.swift.structure.elem.init_expr, key.offset: 2133, key.length: 1 } ] } ] } ] }, { key.kind: source.lang.swift.decl.function.free, key.accessibility: source.lang.swift.accessibility.internal, key.name: "someFunc(input:completion:)", key.offset: 2138, key.length: 69, key.nameoffset: 2143, key.namelength: 52, key.bodyoffset: 2206, key.bodylength: 0, key.attributes: [ { key.offset: 2196, key.length: 8, key.attribute: source.decl.attribute.rethrows } ], key.substructure: [ { key.kind: source.lang.swift.decl.var.parameter, key.name: "input", key.offset: 2152, key.length: 11, key.typename: "Int?", key.nameoffset: 2152, key.namelength: 5 }, { key.kind: source.lang.swift.decl.var.parameter, key.name: "completion", key.offset: 2165, key.length: 29, key.typename: "() throws -> Void", key.nameoffset: 2165, key.namelength: 10 } ] }, { key.kind: source.lang.swift.decl.class, key.accessibility: source.lang.swift.accessibility.internal, key.name: "OneMore", key.offset: 2209, key.length: 121, key.nameoffset: 2215, key.namelength: 7, key.bodyoffset: 2224, key.bodylength: 105, key.substructure: [ { key.kind: source.lang.swift.decl.function.method.instance, key.accessibility: source.lang.swift.accessibility.internal, key.name: "testAction(coder:_:)", key.offset: 2242, key.length: 86, key.typename: "AnyObject", key.selector_name: "testActionWithCoder::", key.nameoffset: 2247, key.namelength: 45, key.bodyoffset: 2307, key.bodylength: 20, key.attributes: [ { key.offset: 2227, key.length: 14, key.attribute: source.decl.attribute.ibsegueaction } ], key.substructure: [ { key.kind: source.lang.swift.decl.var.parameter, key.name: "coder", key.offset: 2258, key.length: 16, key.typename: "AnyObject", key.nameoffset: 2258, key.namelength: 5 }, { key.kind: source.lang.swift.decl.var.parameter, key.name: "ident", key.offset: 2276, key.length: 15, key.typename: "String" }, { key.kind: source.lang.swift.expr.call, key.name: "fatalError", key.offset: 2312, key.length: 12, key.nameoffset: 2312, key.namelength: 10, key.bodyoffset: 2323, key.bodylength: 0 } ] } ] }, { key.kind: source.lang.swift.decl.class, key.accessibility: source.lang.swift.accessibility.internal, key.name: "Chain", key.offset: 2332, key.length: 87, key.nameoffset: 2338, key.namelength: 5, key.bodyoffset: 2348, key.bodylength: 70, key.substructure: [ { key.kind: source.lang.swift.decl.generic_type_param, key.name: "A", key.offset: 2344, key.length: 1, key.nameoffset: 2344, key.namelength: 1 }, { key.kind: source.lang.swift.decl.function.method.static, key.accessibility: source.lang.swift.accessibility.internal, key.name: "+(_:_:)", key.offset: 2351, key.length: 66, key.typename: "Chain", key.nameoffset: 2356, key.namelength: 32, key.bodyoffset: 2402, key.bodylength: 14, key.substructure: [ { key.kind: source.lang.swift.decl.var.parameter, key.name: "lhs", key.offset: 2359, key.length: 13, key.typename: "Chain" }, { key.kind: source.lang.swift.decl.var.parameter, key.name: "rhs", key.offset: 2374, key.length: 13, key.typename: "Chain" }, { key.kind: source.lang.swift.expr.call, key.name: "fatalError", key.offset: 2403, key.length: 12, key.nameoffset: 2403, key.namelength: 10, key.bodyoffset: 2414, key.bodylength: 0 } ] } ] }, { key.kind: source.lang.swift.decl.function.free, key.accessibility: source.lang.swift.accessibility.public, key.name: "init()", key.offset: 2428, key.length: 27, key.nameoffset: 2428, key.namelength: 6, key.bodyoffset: 2436, key.bodylength: 18, key.attributes: [ { key.offset: 2421, key.length: 6, key.attribute: source.decl.attribute.public } ], key.substructure: [ { key.kind: source.lang.swift.expr.call, key.name: "fatalError", key.offset: 2441, key.length: 12, key.nameoffset: 2441, key.namelength: 10, key.bodyoffset: 2452, key.bodylength: 0 } ] }, { key.kind: source.lang.swift.decl.function.free, key.accessibility: source.lang.swift.accessibility.private, key.name: "deinit", key.offset: 2457, key.length: 27, key.nameoffset: 2457, key.namelength: 6, key.bodyoffset: 2465, key.bodylength: 18, key.substructure: [ { key.kind: source.lang.swift.expr.call, key.name: "fatalError", key.offset: 2470, key.length: 12, key.nameoffset: 2470, key.namelength: 10, key.bodyoffset: 2481, key.bodylength: 0 } ] }, { key.kind: source.lang.swift.decl.extension, key.name: "Result", key.offset: 2496, key.length: 36, key.nameoffset: 2506, key.namelength: 6, key.bodyoffset: 2514, key.bodylength: 17, key.substructure: [ { key.kind: source.lang.swift.decl.function.method.instance, key.name: "foo()", key.offset: 2517, key.length: 13, key.nameoffset: 2522, key.namelength: 5, key.bodyoffset: 2529, key.bodylength: 0 } ] }, { key.kind: source.lang.swift.decl.extension, key.name: "Outer", key.offset: 2534, key.length: 53, key.nameoffset: 2544, key.namelength: 5, key.bodyoffset: 2551, key.bodylength: 35, key.substructure: [ { key.kind: source.lang.swift.decl.class, key.name: "Inner", key.offset: 2554, key.length: 31, key.nameoffset: 2560, key.namelength: 5, key.bodyoffset: 2567, key.bodylength: 17, key.substructure: [ { key.kind: source.lang.swift.decl.function.method.instance, key.name: "deinit", key.offset: 2572, key.length: 9, key.nameoffset: 2572, key.namelength: 6, key.bodyoffset: 2580, key.bodylength: 0 } ] } ] }, { key.kind: source.lang.swift.decl.extension, key.accessibility: source.lang.swift.accessibility.public, key.name: "Outer2", key.offset: 2596, key.length: 55, key.nameoffset: 2606, key.namelength: 6, key.bodyoffset: 2614, key.bodylength: 36, key.attributes: [ { key.offset: 2589, key.length: 6, key.attribute: source.decl.attribute.public } ], key.substructure: [ { key.kind: source.lang.swift.decl.class, key.accessibility: source.lang.swift.accessibility.public, key.name: "Inner2", key.offset: 2617, key.length: 32, key.nameoffset: 2623, key.namelength: 6, key.bodyoffset: 2631, key.bodylength: 17, key.substructure: [ { key.kind: source.lang.swift.decl.function.method.instance, key.accessibility: source.lang.swift.accessibility.public, key.name: "deinit", key.offset: 2636, key.length: 9, key.nameoffset: 2636, key.namelength: 6, key.bodyoffset: 2644, key.bodylength: 0 } ] } ] }, { key.kind: source.lang.swift.decl.protocol, key.accessibility: source.lang.swift.accessibility.internal, key.name: "BarProtocol", key.offset: 2678, key.length: 23, key.runtime_name: "FPBarProto", key.nameoffset: 2687, key.namelength: 11, key.bodyoffset: 2700, key.bodylength: 0, key.attributes: [ { key.offset: 2660, key.length: 17, key.attribute: source.decl.attribute.objc.name } ] }, { key.kind: source.lang.swift.decl.var.global, key.accessibility: source.lang.swift.accessibility.internal, key.setter_accessibility: source.lang.swift.accessibility.internal, key.name: "var_with_didset", key.offset: 2703, key.length: 57, key.nameoffset: 2707, key.namelength: 15, key.bodyoffset: 2729, key.bodylength: 30 }, { key.kind: source.lang.swift.expr.call, key.name: "print", key.offset: 2741, key.length: 15, key.nameoffset: 2741, key.namelength: 5, key.bodyoffset: 2747, key.bodylength: 8, key.substructure: [ { key.kind: source.lang.swift.expr.argument, key.offset: 2747, key.length: 8, key.bodyoffset: 2747, key.bodylength: 8 } ] }, { key.kind: source.lang.swift.decl.protocol, key.accessibility: source.lang.swift.accessibility.internal, key.name: "MyProtocol", key.offset: 2780, key.length: 71, key.nameoffset: 2789, key.namelength: 10, key.bodyoffset: 2819, key.bodylength: 31, key.inheritedtypes: [ { key.name: "NSObjectProtocol" } ], key.attributes: [ { key.offset: 2774, key.length: 5, key.attribute: source.decl.attribute.objc } ], key.elements: [ { key.kind: source.lang.swift.structure.elem.typeref, key.offset: 2801, key.length: 16 } ], key.substructure: [ { key.kind: source.lang.swift.decl.var.instance, key.accessibility: source.lang.swift.accessibility.internal, key.name: "thing", key.offset: 2824, key.length: 25, key.typename: "NSObject", key.nameoffset: 2828, key.namelength: 5, key.bodyoffset: 2845, key.bodylength: 3 } ] }, { key.kind: source.lang.swift.decl.class, key.accessibility: source.lang.swift.accessibility.internal, key.name: "A", key.offset: 2860, key.length: 69, key.nameoffset: 2866, key.namelength: 1, key.bodyoffset: 2869, key.bodylength: 59, key.substructure: [ { key.kind: source.lang.swift.decl.function.method.instance, key.accessibility: source.lang.swift.accessibility.internal, key.name: "foo(a:)", key.offset: 2899, key.length: 19, key.selector_name: "fooWithA:", key.nameoffset: 2904, key.namelength: 11, key.bodyoffset: 2917, key.bodylength: 0, key.attributes: [ { key.offset: 2893, key.length: 5, key.attribute: source.decl.attribute.objc.name }, { key.offset: 2883, key.length: 9, key.attribute: source.decl.attribute.ibaction } ], key.substructure: [ { key.kind: source.lang.swift.decl.var.parameter, key.name: "a", key.offset: 2908, key.length: 6, key.typename: "Int", key.nameoffset: 2908, key.namelength: 1 } ] } ] }, { key.kind: source.lang.swift.decl.function.free, key.accessibility: source.lang.swift.accessibility.internal, key.name: "testPostfixIfConfig()", key.offset: 2931, key.length: 194, key.nameoffset: 2936, key.namelength: 21, key.bodyoffset: 2959, key.bodylength: 165 } ], key.diagnostics: [ { key.line: 71, key.column: 5, key.severity: source.diagnostic.severity.error, key.id: "getset_nontrivial_pattern", key.description: "getter/setter can only be defined for a single variable", key.diagnostic_stage: source.diagnostic.stage.swift.parse }, { key.line: 77, key.column: 1, key.severity: source.diagnostic.severity.error, key.id: "c_style_for_stmt_removed", key.description: "C-style for statement was removed in Swift 3", key.diagnostic_stage: source.diagnostic.stage.swift.parse, key.ranges: [ { key.offset: 1136, key.length: 30 } ] }, { key.line: 116, key.column: 1, key.severity: source.diagnostic.severity.error, key.id: "expected_keyword_in_decl", key.description: "expected 'func' keyword in instance method declaration", key.diagnostic_stage: source.diagnostic.stage.swift.parse, key.fixits: [ { key.offset: 1954, key.length: 0, key.sourcetext: "func " } ] }, { key.line: 143, key.column: 12, key.severity: source.diagnostic.severity.error, key.id: "initializer_decl_wrong_scope", key.description: "initializers may only be declared within a type", key.diagnostic_stage: source.diagnostic.stage.swift.parse }, { key.line: 147, key.column: 1, key.severity: source.diagnostic.severity.error, key.id: "destructor_decl_outside_class_or_noncopyable", key.description: "deinitializers may only be declared within a class, actor, or noncopyable type", key.diagnostic_stage: source.diagnostic.stage.swift.parse } ] }