summaryrefslogtreecommitdiff
path: root/crates/parser/src
diff options
context:
space:
mode:
authorHenry Gressmann <mail@henrygressmann.de>2024-05-29 01:39:21 +0200
committerHenry Gressmann <mail@henrygressmann.de>2024-05-29 01:39:21 +0200
commitffb1e095fc1d6a2d54cc7637797c625dee6ebe6a (patch)
treea752abeb73eaf86b971a34d88fd9dbd3cccc46d0 /crates/parser/src
parent9d7c1924f1d0e9f79e31da4b84d9da12c3d37945 (diff)
chore: update deps, cleanup
Signed-off-by: Henry Gressmann <mail@henrygressmann.de>
Diffstat (limited to 'crates/parser/src')
-rw-r--r--crates/parser/src/lib.rs6
-rw-r--r--crates/parser/src/module.rs11
2 files changed, 8 insertions, 9 deletions
diff --git a/crates/parser/src/lib.rs b/crates/parser/src/lib.rs
index 4ee9bb5..51743c7 100644
--- a/crates/parser/src/lib.rs
+++ b/crates/parser/src/lib.rs
@@ -92,7 +92,7 @@ impl Parser {
return Err(ParseError::EndNotReached);
}
- reader.to_module()
+ reader.into_module()
}
#[cfg(feature = "std")]
@@ -132,7 +132,7 @@ impl Parser {
reader.process_payload(payload, &mut validator)?;
buffer.drain(..consumed);
if eof || reader.end_reached {
- return reader.to_module();
+ return reader.into_module();
}
}
};
@@ -144,6 +144,6 @@ impl TryFrom<ModuleReader> for TinyWasmModule {
type Error = ParseError;
fn try_from(reader: ModuleReader) -> Result<Self> {
- reader.to_module()
+ reader.into_module()
}
}
diff --git a/crates/parser/src/module.rs b/crates/parser/src/module.rs
index a4bdba4..294782c 100644
--- a/crates/parser/src/module.rs
+++ b/crates/parser/src/module.rs
@@ -179,14 +179,12 @@ impl ModuleReader {
}
#[inline]
- pub(crate) fn to_module(self) -> Result<TinyWasmModule> {
+ pub(crate) fn into_module(self) -> Result<TinyWasmModule> {
if !self.end_reached {
return Err(ParseError::EndNotReached);
}
- let local_function_count = self.code.len();
-
- if self.code_type_addrs.len() != local_function_count {
+ if self.code_type_addrs.len() != self.code.len() {
return Err(ParseError::Other("Code and code type address count mismatch".to_string()));
}
@@ -199,13 +197,14 @@ impl ModuleReader {
locals,
ty: self.func_types.get(ty_idx as usize).expect("No func type for func, this is a bug").clone(),
})
- .collect::<Vec<_>>();
+ .collect::<Vec<_>>()
+ .into_boxed_slice();
let globals = self.globals;
let table_types = self.table_types;
Ok(TinyWasmModule {
- funcs: funcs.into_boxed_slice(),
+ funcs,
func_types: self.func_types.into_boxed_slice(),
globals: globals.into_boxed_slice(),
table_types: table_types.into_boxed_slice(),