An implementation of Swift mangled symbol parsing and demangled printing in Swift.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.

README.md

CwlDemangle

A translation (line-by-line in many cases) of Swift's Demangler.cpp into Swift.

License note

I usually place my code under an ISC-style license but since this project is derived from the Swift project, it is covered by that project's Apache License 2.0 with runtime library exception.

Usage

Parse a String containing a mangled Swift symbol with the parseMangledSwiftSymbol function:

let swiftSymbol = try parseMangledSwiftSymbol(input)

Print the symbol to a string with description (to get the .default printing options) or use the print(using:) function, e.g.:

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

Article

Read more about this project in the associated article on Cocoa with Love: Comparing Swift to C++ for parsing