Luke Street f31edda06e Support MW extensions & double underscore fixes
Enable MW extensions (`__int128`,
`__vec2x32float__`) with `--mw-extensions`.
Disabled by default since these extensions
use `1` and `2` as type indicators, conflicting
with other demangling schemes (template args,
type names).

Includes extra logic to handle cases where
a function's class or template arguments
contain a type with a double underscore.

Fixes #2
2024-03-13 10:44:15 -06:00
2022-11-27 16:23:05 -05:00
2022-11-27 16:23:05 -05:00
2022-09-03 08:47:21 -04:00
2022-09-03 08:47:21 -04:00
2022-09-03 08:47:21 -04:00
2022-09-03 08:47:21 -04:00
2023-02-02 15:59:55 -05:00
2022-09-03 08:47:21 -04:00

cwdemangle Build Status Latest Version Api Rustdoc Rust Version

A CodeWarrior C++ symbol demangler.

Usage

CLI:

cwdemangle 'BuildLight__9CGuiLightCFv'

Library:

use cwdemangle::{demangle, DemangleOptions};

if let Some(result) = demangle("BuildLight__9CGuiLightCFv", &DemangleOptions::default()) {
    println!("{}", result);
} else {
    eprintln!("Couldn't demangle symbol (not a C++ symbol?)");
}

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Description
CodeWarrior C++ symbol demangler
Readme 75 KiB
Languages
Rust 100%