mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
Instead of appending a character for each substitution, we now prefix the substitution with the repeat count, e.g. AbbbbB -> A5B The same is done for known-type substitutions, e.g. SiSiSi -> S3i This significantly shrinks mangled names which contain large lists of the same type, like func foo(_ x: (Int, Int, Int, Int, Int, Int, Int, Int, Int, Int, Int, Int)) rdar://problem/30707433
158 lines
4.3 KiB
Plaintext
158 lines
4.3 KiB
Plaintext
{
|
|
key.hash: <hash>,
|
|
key.dependencies: [
|
|
{
|
|
key.kind: source.lang.swift.import.module.swift,
|
|
key.name: "Swift",
|
|
key.filepath: Swift.swiftmodule,
|
|
key.hash: <hash>,
|
|
key.is_system: 1
|
|
}
|
|
],
|
|
key.entities: [
|
|
{
|
|
key.kind: source.lang.swift.decl.enum,
|
|
key.name: "E",
|
|
key.usr: "s:15index_enum_case1EO",
|
|
key.line: 4,
|
|
key.column: 13,
|
|
key.entities: [
|
|
{
|
|
key.kind: source.lang.swift.decl.enumelement,
|
|
key.name: "one",
|
|
key.usr: "s:15index_enum_case1EO3oneA2CmF",
|
|
key.line: 6,
|
|
key.column: 10
|
|
},
|
|
{
|
|
key.kind: source.lang.swift.decl.enumelement,
|
|
key.name: "two",
|
|
key.usr: "s:15index_enum_case1EO3twoACSS1a_tcACmF",
|
|
key.line: 6,
|
|
key.column: 15,
|
|
key.entities: [
|
|
{
|
|
key.kind: source.lang.swift.ref.struct,
|
|
key.name: "String",
|
|
key.usr: "s:SS",
|
|
key.line: 6,
|
|
key.column: 22
|
|
}
|
|
]
|
|
},
|
|
{
|
|
key.kind: source.lang.swift.decl.enumelement,
|
|
key.name: "three",
|
|
key.usr: "s:15index_enum_case1EO5threeA2CmF",
|
|
key.line: 6,
|
|
key.column: 31
|
|
},
|
|
{
|
|
key.kind: source.lang.swift.decl.var.instance,
|
|
key.name: "text",
|
|
key.usr: "s:15index_enum_case1EO4textSSv",
|
|
key.line: 8,
|
|
key.column: 9,
|
|
key.entities: [
|
|
{
|
|
key.kind: source.lang.swift.decl.function.accessor.getter,
|
|
key.name: "getter:text",
|
|
key.usr: "s:15index_enum_case1EO4textSSfg",
|
|
key.line: 8,
|
|
key.column: 22,
|
|
key.entities: [
|
|
{
|
|
key.kind: source.lang.swift.ref.enumelement,
|
|
key.name: "one",
|
|
key.usr: "s:15index_enum_case1EO3oneA2CmF",
|
|
key.line: 10,
|
|
key.column: 15
|
|
},
|
|
{
|
|
key.kind: source.lang.swift.ref.enumelement,
|
|
key.name: "two",
|
|
key.usr: "s:15index_enum_case1EO3twoACSS1a_tcACmF",
|
|
key.line: 12,
|
|
key.column: 15
|
|
},
|
|
{
|
|
key.kind: source.lang.swift.ref.enumelement,
|
|
key.name: "three",
|
|
key.usr: "s:15index_enum_case1EO5threeA2CmF",
|
|
key.line: 14,
|
|
key.column: 15
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
key.kind: source.lang.swift.ref.struct,
|
|
key.name: "String",
|
|
key.usr: "s:SS",
|
|
key.line: 8,
|
|
key.column: 15
|
|
}
|
|
]
|
|
},
|
|
{
|
|
key.kind: source.lang.swift.decl.var.global,
|
|
key.name: "e",
|
|
key.usr: "s:15index_enum_case1eAA1EOv",
|
|
key.line: 21,
|
|
key.column: 5,
|
|
key.entities: [
|
|
{
|
|
key.kind: source.lang.swift.decl.function.accessor.getter,
|
|
key.usr: "s:15index_enum_case1eAA1EOfg",
|
|
key.line: 21,
|
|
key.column: 5
|
|
},
|
|
{
|
|
key.kind: source.lang.swift.decl.function.accessor.setter,
|
|
key.usr: "s:15index_enum_case1eAA1EOfs",
|
|
key.line: 21,
|
|
key.column: 5
|
|
}
|
|
]
|
|
},
|
|
{
|
|
key.kind: source.lang.swift.ref.enum,
|
|
key.name: "E",
|
|
key.usr: "s:15index_enum_case1EO",
|
|
key.line: 21,
|
|
key.column: 8
|
|
},
|
|
{
|
|
key.kind: source.lang.swift.ref.enumelement,
|
|
key.name: "two",
|
|
key.usr: "s:15index_enum_case1EO3twoACSS1a_tcACmF",
|
|
key.line: 21,
|
|
key.column: 13
|
|
},
|
|
{
|
|
key.kind: source.lang.swift.decl.function.free,
|
|
key.name: "brokenEnums()",
|
|
key.usr: "s:15index_enum_case11brokenEnumsyyF",
|
|
key.line: 23,
|
|
key.column: 6,
|
|
key.entities: [
|
|
{
|
|
key.kind: source.lang.swift.ref.enum,
|
|
key.name: "E",
|
|
key.usr: "s:15index_enum_case1EO",
|
|
key.line: 28,
|
|
key.column: 10
|
|
},
|
|
{
|
|
key.kind: source.lang.swift.ref.enumelement,
|
|
key.name: "one",
|
|
key.usr: "s:15index_enum_case1EO3oneA2CmF",
|
|
key.line: 28,
|
|
key.column: 12
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|