diff options
Diffstat (limited to 'crates')
| -rw-r--r-- | crates/parser/src/lib.rs | 18 | ||||
| -rw-r--r-- | crates/types/Cargo.toml | 2 | ||||
| -rw-r--r-- | crates/types/src/lib.rs | 15 |
3 files changed, 18 insertions, 17 deletions
diff --git a/crates/parser/src/lib.rs b/crates/parser/src/lib.rs index 39bb1c6..d2b6d9c 100644 --- a/crates/parser/src/lib.rs +++ b/crates/parser/src/lib.rs @@ -9,10 +9,9 @@ extern crate std; mod conversion; mod error; mod module; -use alloc::boxed::Box; pub use error::*; use module::ModuleReader; -use tinywasm_types::{Export, FuncType, Function}; +use tinywasm_types::TinyWasmModule; pub struct Parser {} @@ -45,21 +44,6 @@ impl Parser { } } -pub struct TinyWasmModule { - pub version: Option<u16>, - pub start_func: Option<u32>, - - pub types: Option<Box<[FuncType]>>, - pub funcs: Option<Box<[Function]>>, - pub exports: Option<Box<[Export]>>, - // pub tables: Option<TableType>, - // pub memories: Option<MemoryType>, - // pub globals: Option<GlobalType>, - // pub elements: Option<ElementSectionReader<'a>>, - // pub imports: Option<ImportSectionReader<'a>>, - // pub data_segments: Option<DataSectionReader<'a>>, -} - impl TryFrom<ModuleReader<'_>> for TinyWasmModule { type Error = ParseError; diff --git a/crates/types/Cargo.toml b/crates/types/Cargo.toml index 83263a6..fa2fc6e 100644 --- a/crates/types/Cargo.toml +++ b/crates/types/Cargo.toml @@ -5,7 +5,9 @@ edition="2021" [dependencies] tracing={version="0.1.38", default-features=false} # logging +rkyv={version="0.7", optional=true, default-features=false} [features] default=["std"] std=[] +serialize=["dep:rkyv"] diff --git a/crates/types/src/lib.rs b/crates/types/src/lib.rs index e68efe7..e793b26 100644 --- a/crates/types/src/lib.rs +++ b/crates/types/src/lib.rs @@ -3,6 +3,21 @@ extern crate alloc; mod instructions; pub use instructions::*; +pub struct TinyWasmModule { + pub version: Option<u16>, + pub start_func: Option<u32>, + + pub types: Option<Box<[FuncType]>>, + pub funcs: Option<Box<[Function]>>, + pub exports: Option<Box<[Export]>>, + // pub tables: Option<TableType>, + // pub memories: Option<MemoryType>, + // pub globals: Option<GlobalType>, + // pub elements: Option<ElementSectionReader<'a>>, + // pub imports: Option<ImportSectionReader<'a>>, + // pub data_segments: Option<DataSectionReader<'a>>, +} + /// A WebAssembly value. /// See https://webassembly.github.io/spec/core/syntax/types.html#value-types #[derive(Debug, Clone, PartialEq)] |
