From 4ee0bacbf79c41661b24e6cb9e4420cca33dc039 Mon Sep 17 00:00:00 2001 From: Henry Date: Sat, 23 Dec 2023 18:35:49 +0100 Subject: chore: parse element sections, improve contributing.md Signed-off-by: Henry --- crates/parser/src/module.rs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'crates/parser/src/module.rs') diff --git a/crates/parser/src/module.rs b/crates/parser/src/module.rs index fdad900..660a702 100644 --- a/crates/parser/src/module.rs +++ b/crates/parser/src/module.rs @@ -2,7 +2,7 @@ use crate::log::debug; use crate::{conversion, ParseError, Result}; use alloc::{boxed::Box, format, vec::Vec}; use core::fmt::Debug; -use tinywasm_types::{Data, Export, FuncType, Global, Import, Instruction, MemoryType, TableType, ValType}; +use tinywasm_types::{Data, Element, Export, FuncType, Global, Import, Instruction, MemoryType, TableType, ValType}; use wasmparser::{Payload, Validator}; #[derive(Debug, Clone, PartialEq)] @@ -25,6 +25,7 @@ pub struct ModuleReader { pub memory_types: Vec, pub imports: Vec, pub data: Vec, + pub elements: Vec, // pub element_section: Option>, pub end_reached: bool, @@ -122,11 +123,10 @@ impl ModuleReader { validator.memory_section(&reader)?; self.memory_types = conversion::convert_module_memories(reader)?; } - ElementSection(_reader) => { - return Err(ParseError::UnsupportedSection("Element section".into())); - // debug!("Found element section"); - // validator.element_section(&reader)?; - // self.element_section = Some(reader); + ElementSection(reader) => { + debug!("Found element section"); + validator.element_section(&reader)?; + self.elements = conversion::convert_module_elements(reader)?; } DataSection(reader) => { if !self.data.is_empty() { -- cgit v1.3.1