diff options
| author | Henry Gressmann <mail@henrygressmann.de> | 2024-05-29 01:39:21 +0200 |
|---|---|---|
| committer | Henry Gressmann <mail@henrygressmann.de> | 2024-05-29 01:39:21 +0200 |
| commit | ffb1e095fc1d6a2d54cc7637797c625dee6ebe6a (patch) | |
| tree | a752abeb73eaf86b971a34d88fd9dbd3cccc46d0 /crates/parser | |
| parent | 9d7c1924f1d0e9f79e31da4b84d9da12c3d37945 (diff) | |
chore: update deps, cleanup
Signed-off-by: Henry Gressmann <mail@henrygressmann.de>
Diffstat (limited to 'crates/parser')
| -rw-r--r-- | crates/parser/src/lib.rs | 6 | ||||
| -rw-r--r-- | crates/parser/src/module.rs | 11 |
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(), |
