SwiftDemangle
is a library designed for demangling Swift symbols, inspired by Swift's own swift-demangle
tool. This library offers compatibility up to Swift version 6.0(maybe 6.1 too), providing an easy-to-use interface for converting mangled Swift symbols into a human-readable format.
- add swift package index documentation for swift 6.0
- remove binary target
- add xcframework.sh script to build xcframework
Version 6.0.2 of SwiftDemangle introduces significant updates and improvements, extending support for Swift's latest features. Key updates include:
- Swift 6.0(6.1) Compatibility: Full support for Swift 6.0 demangling features
- Enhanced Generic Type Parsing: Improved handling of complex generic type signatures
- Async/Await Context Support: Better parsing of async/await related symbols
- Structured Concurrency Elements: Support for structured concurrency related demangling
- Improved Macro Support: Extended capabilities for handling macro-generated code
- Extended Platform Support: Broader platform compatibility
# If using Swift Package Manager
dependencies: [
.package(url: "https://github.com/oozoofrog/SwiftDemangle", .upToNextMajor(from: "6.0.4"))
]
import SwiftDemangle
// Example 1: Demangling a Builtin Vector Type
let mangledVector = "_TtBv4Bf16_"
let demangledVector = mangledVector.demangled
print(demangledVector) // Output: Builtin.Vec4xFPIEEE16
// Example 2: Demangling a Protocol Descriptor
let mangledProtocol = "$ss6SimpleHr"
let demangledProtocol = mangledProtocol.demangled
print(demangledProtocol) // Output: protocol descriptor runtime record for Swift.Simple
./xcframework.sh
Contributions are welcome! If you have ideas for improvements or have found a bug, please feel free to fork the repository, make changes, and submit a pull request.
SwiftDemangle is released under the Apache 2.0 License, ensuring compatibility with the original Swift swift-demangle source code's license terms. For more details, see the LICENSE file in the repository.