Crate symbolic_demangle [] [src]

Provides demangling support.

Currently supported languages:

  • C++ (without windows)
  • Rust
  • Swift
  • ObjC (only symbol detection)

As the demangling schemes for different languages are different the feature set is also inconsistent. In particular Rust for instance has no overloading so argument types are generally not expected to be encoded into the function name whereas they are in Swift and C++.

Examples

let sym = Symbol::new("__ZN3std2io4Read11read_to_end17hb85a0f6802e14499E");
assert_eq!(sym.language(), Some(Language::Rust));
assert_eq!(sym.to_string(), "std::io::Read::read_to_end");

Structs

DemangleOptions

Options for the demangling

Symbol

Represents a mangled symbol.

Enums

DemangleFormat

Defines the output format of the demangler

Functions

demangle

Demangles an identifier.