CwlDemangle

Swift 的 Demangler.cpp 的翻译(在许多情况下是逐行翻译)到 Swift 代码。

许可证说明

我通常将我的代码置于 ISC 风格的许可证下,但由于此项目源自 Swift 项目,因此它受该项目的 Apache 许可证 2.0 版(包含运行时库例外) 的约束。

用法

使用 parseMangledSwiftSymbol 函数解析包含混淆的 Swift 符号的 String

let swiftSymbol = try parseMangledSwiftSymbol(input)

使用 description 将符号打印到字符串(以获取 .default 打印选项),或使用 print(using:) 函数,例如:

let result = swiftSymbol.print(using:
   SymbolPrintOptions.default.union(.synthesizeSugarOnTypes))

文章

在 Cocoa with Love 上的相关文章中阅读更多关于此项目的信息:比较 Swift 和 C++ 的解析性能