Demangle Rust symbols by default

This commit is contained in:
Alex Crichton 2018-04-11 11:43:18 -07:00
parent d1a4bffb3a
commit b9b8756cd0
3 changed files with 11 additions and 1 deletions

View File

@ -1171,7 +1171,7 @@ impl<'a> Context<'a> {
let module = mem::replace(self.module, Module::default());
let wasm_bytes = parity_wasm::serialize(module).unwrap();
let bytes = wasm_gc::Config::new()
.demangle(false)
.demangle(self.config.demangle)
.gc(&wasm_bytes)
.unwrap();
*self.module = deserialize_buffer(&bytes).unwrap();

View File

@ -19,6 +19,7 @@ pub struct Bindgen {
browser: bool,
debug: bool,
typescript: bool,
demangle: bool,
}
#[derive(Debug)]
@ -38,6 +39,7 @@ impl Bindgen {
browser: false,
debug: false,
typescript: false,
demangle: true,
}
}
@ -66,6 +68,11 @@ impl Bindgen {
self
}
pub fn demangle(&mut self, demangle: bool) -> &mut Bindgen {
self.demangle = demangle;
self
}
pub fn generate<P: AsRef<Path>>(&mut self, path: P) -> Result<(), Error> {
self._generate(path.as_ref())
}

View File

@ -24,6 +24,7 @@ Options:
--browser Generate output that only works in a browser
--typescript Output a TypeScript definition file
--debug Include otherwise-extraneous debug checks in output
--no-demangle Don't demangle Rust symbol names
-V --version Print the version number of wasm-bindgen
";
@ -35,6 +36,7 @@ struct Args {
flag_out_dir: Option<PathBuf>,
flag_debug: bool,
flag_version: bool,
flag_no_demangle: bool,
arg_input: Option<PathBuf>,
}
@ -58,6 +60,7 @@ fn main() {
.nodejs(args.flag_nodejs)
.browser(args.flag_browser)
.debug(args.flag_debug)
.demangle(!args.flag_no_demangle)
.typescript(args.flag_typescript);
let out_dir = match args.flag_out_dir {