Skip to content

Commit b9b8756

Browse files
committed
Demangle Rust symbols by default
1 parent d1a4bff commit b9b8756

File tree

3 files changed

+11
-1
lines changed

3 files changed

+11
-1
lines changed

crates/cli-support/src/js.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1171,7 +1171,7 @@ impl<'a> Context<'a> {
11711171
let module = mem::replace(self.module, Module::default());
11721172
let wasm_bytes = parity_wasm::serialize(module).unwrap();
11731173
let bytes = wasm_gc::Config::new()
1174-
.demangle(false)
1174+
.demangle(self.config.demangle)
11751175
.gc(&wasm_bytes)
11761176
.unwrap();
11771177
*self.module = deserialize_buffer(&bytes).unwrap();

crates/cli-support/src/lib.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ pub struct Bindgen {
1919
browser: bool,
2020
debug: bool,
2121
typescript: bool,
22+
demangle: bool,
2223
}
2324

2425
#[derive(Debug)]
@@ -38,6 +39,7 @@ impl Bindgen {
3839
browser: false,
3940
debug: false,
4041
typescript: false,
42+
demangle: true,
4143
}
4244
}
4345

@@ -66,6 +68,11 @@ impl Bindgen {
6668
self
6769
}
6870

71+
pub fn demangle(&mut self, demangle: bool) -> &mut Bindgen {
72+
self.demangle = demangle;
73+
self
74+
}
75+
6976
pub fn generate<P: AsRef<Path>>(&mut self, path: P) -> Result<(), Error> {
7077
self._generate(path.as_ref())
7178
}

crates/cli/src/bin/wasm-bindgen.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ Options:
2424
--browser Generate output that only works in a browser
2525
--typescript Output a TypeScript definition file
2626
--debug Include otherwise-extraneous debug checks in output
27+
--no-demangle Don't demangle Rust symbol names
2728
-V --version Print the version number of wasm-bindgen
2829
";
2930

@@ -35,6 +36,7 @@ struct Args {
3536
flag_out_dir: Option<PathBuf>,
3637
flag_debug: bool,
3738
flag_version: bool,
39+
flag_no_demangle: bool,
3840
arg_input: Option<PathBuf>,
3941
}
4042

@@ -58,6 +60,7 @@ fn main() {
5860
.nodejs(args.flag_nodejs)
5961
.browser(args.flag_browser)
6062
.debug(args.flag_debug)
63+
.demangle(!args.flag_no_demangle)
6164
.typescript(args.flag_typescript);
6265

6366
let out_dir = match args.flag_out_dir {

0 commit comments

Comments
 (0)