From 81bb278b4c854fb29391681ac7210006d8c66811 Mon Sep 17 00:00:00 2001 From: Ivan Enderlin Date: Thu, 9 Apr 2020 11:23:26 +0200 Subject: [PATCH] feat(interface-types) Move the `values` and `serde` modules to the root of the crate. --- src/interpreter/instructions/mod.rs | 8 ++------ src/interpreter/instructions/numbers.rs | 3 ++- src/interpreter/instructions/records.rs | 5 ++--- src/interpreter/instructions/strings.rs | 3 ++- src/interpreter/mod.rs | 6 ++++-- src/interpreter/wasm/mod.rs | 4 ---- src/interpreter/wasm/structures.rs | 2 +- src/lib.rs | 3 +++ src/macros.rs | 4 ++-- src/{interpreter/wasm => }/serde/de.rs | 4 ++-- src/{interpreter/wasm => }/serde/mod.rs | 0 src/{interpreter/wasm => }/serde/ser.rs | 4 ++-- src/{interpreter/wasm => }/values.rs | 8 +++++--- 13 files changed, 27 insertions(+), 27 deletions(-) rename src/{interpreter/wasm => }/serde/de.rs (99%) rename src/{interpreter/wasm => }/serde/mod.rs (100%) rename src/{interpreter/wasm => }/serde/ser.rs (99%) rename src/{interpreter/wasm => }/values.rs (97%) diff --git a/src/interpreter/instructions/mod.rs b/src/interpreter/instructions/mod.rs index 5b07396..cddc165 100644 --- a/src/interpreter/instructions/mod.rs +++ b/src/interpreter/instructions/mod.rs @@ -6,7 +6,7 @@ mod strings; use crate::{ errors::{InstructionError, InstructionErrorKind, InstructionResult, WasmValueNativeCastError}, - interpreter::wasm::values::{InterfaceValue, NativeType}, + values::{InterfaceValue, NativeType}, }; pub(crate) use argument_get::argument_get; pub(crate) use call_core::call_core; @@ -163,11 +163,7 @@ where #[cfg(test)] pub(crate) mod tests { - use crate::{ - ast::*, - interpreter::wasm::{self, values::InterfaceValue}, - types::*, - }; + use crate::{ast::*, interpreter::wasm, types::*, values::*}; use std::{cell::Cell, collections::HashMap, convert::TryInto, ops::Deref, rc::Rc}; pub(crate) struct Export { diff --git a/src/interpreter/instructions/numbers.rs b/src/interpreter/instructions/numbers.rs index ac7012e..bedae26 100644 --- a/src/interpreter/instructions/numbers.rs +++ b/src/interpreter/instructions/numbers.rs @@ -1,7 +1,8 @@ use crate::{ errors::{InstructionError, InstructionErrorKind}, - interpreter::{wasm::values::InterfaceValue, Instruction}, + interpreter::Instruction, types::InterfaceType, + values::InterfaceValue, }; use std::convert::TryInto; diff --git a/src/interpreter/instructions/records.rs b/src/interpreter/instructions/records.rs index bdc0ff9..a5d46ec 100644 --- a/src/interpreter/instructions/records.rs +++ b/src/interpreter/instructions/records.rs @@ -1,13 +1,12 @@ use crate::{ ast::{Type, TypeKind}, errors::{InstructionError, InstructionErrorKind}, - interpreter::wasm::values::FlattenInterfaceValueIterator, interpreter::{ stack::{Stack, Stackable}, - wasm::values::InterfaceValue, Instruction, }, types::{InterfaceType, RecordType}, + values::{FlattenInterfaceValueIterator, InterfaceValue}, }; use std::collections::VecDeque; @@ -176,10 +175,10 @@ mod tests { interpreter::{ instructions::tests::{Export, Instance, LocalImport, Memory, MemoryView}, stack::Stackable, - wasm::values::{from_interface_values, InterfaceValue}, Instruction, Interpreter, }, types::InterfaceType, + values::{from_interface_values, InterfaceValue}, }; use serde::Deserialize; use std::{cell::Cell, collections::HashMap, convert::TryInto}; diff --git a/src/interpreter/instructions/strings.rs b/src/interpreter/instructions/strings.rs index f1223ff..854728f 100644 --- a/src/interpreter/instructions/strings.rs +++ b/src/interpreter/instructions/strings.rs @@ -1,8 +1,9 @@ use super::to_native; use crate::{ errors::{InstructionError, InstructionErrorKind}, - interpreter::{wasm::values::InterfaceValue, Instruction}, + interpreter::Instruction, types::InterfaceType, + values::InterfaceValue, }; use std::{cell::Cell, convert::TryInto}; diff --git a/src/interpreter/mod.rs b/src/interpreter/mod.rs index 0d6b331..c4c9c07 100644 --- a/src/interpreter/mod.rs +++ b/src/interpreter/mod.rs @@ -4,11 +4,13 @@ mod instructions; pub mod stack; pub mod wasm; -use crate::errors::{InstructionResult, InterpreterResult}; +use crate::{ + errors::{InstructionResult, InterpreterResult}, + values::InterfaceValue, +}; pub use instructions::Instruction; use stack::Stack; use std::{convert::TryFrom, marker::PhantomData}; -use wasm::values::InterfaceValue; /// Represents the `Runtime`, which is used by an adapter to execute /// its instructions. diff --git a/src/interpreter/wasm/mod.rs b/src/interpreter/wasm/mod.rs index 539e5ff..a196df6 100644 --- a/src/interpreter/wasm/mod.rs +++ b/src/interpreter/wasm/mod.rs @@ -2,8 +2,4 @@ //! types, and traits —basically this is the part a runtime should //! take a look to use the `wasmer-interface-types` crate—. -#[cfg(feature = "serde")] -mod serde; - pub mod structures; -pub mod values; diff --git a/src/interpreter/wasm/structures.rs b/src/interpreter/wasm/structures.rs index 8860b0f..217a418 100644 --- a/src/interpreter/wasm/structures.rs +++ b/src/interpreter/wasm/structures.rs @@ -1,6 +1,6 @@ #![allow(missing_docs)] -use crate::{ast, interpreter::wasm::values::InterfaceValue, types::InterfaceType}; +use crate::{ast, types::InterfaceType, values::InterfaceValue}; use std::{cell::Cell, ops::Deref}; pub trait TypedIndex: Copy + Clone { diff --git a/src/lib.rs b/src/lib.rs index c376ab0..c93bb51 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -58,4 +58,7 @@ pub mod decoders; pub mod encoders; pub mod errors; pub mod interpreter; +#[cfg(feature = "serde")] +mod serde; +pub mod values; pub mod vec1; diff --git a/src/macros.rs b/src/macros.rs index 5a7e743..4b1612e 100644 --- a/src/macros.rs +++ b/src/macros.rs @@ -100,10 +100,10 @@ macro_rules! test_executable_instruction { interpreter::{ instructions::tests::{Export, Instance, LocalImport, Memory, MemoryView}, stack::Stackable, - wasm::values::InterfaceValue, Instruction, Interpreter, }, types::InterfaceType, + values::InterfaceValue, }; use std::{cell::Cell, collections::HashMap, convert::TryInto}; @@ -142,10 +142,10 @@ macro_rules! test_executable_instruction { interpreter::{ instructions::tests::{Export, Instance, LocalImport, Memory, MemoryView}, stack::Stackable, - wasm::values::InterfaceValue, Instruction, Interpreter, }, types::InterfaceType, + values::InterfaceValue, }; use std::{cell::Cell, collections::HashMap, convert::TryInto}; diff --git a/src/interpreter/wasm/serde/de.rs b/src/serde/de.rs similarity index 99% rename from src/interpreter/wasm/serde/de.rs rename to src/serde/de.rs index efab677..5230862 100644 --- a/src/interpreter/wasm/serde/de.rs +++ b/src/serde/de.rs @@ -1,8 +1,8 @@ //! Provides a deserializer from WIT values to Rust value. use crate::{ - interpreter::wasm::values::{FlattenInterfaceValueIterator, InterfaceValue}, types::InterfaceType, + values::{FlattenInterfaceValueIterator, InterfaceValue}, }; use serde::{de, Deserialize}; use std::{ @@ -20,7 +20,7 @@ use std::{ /// # Example /// /// ```rust -/// use wasmer_interface_types::interpreter::wasm::values::{ +/// use wasmer_interface_types::values::{ /// InterfaceValue, /// from_interface_values, /// }; diff --git a/src/interpreter/wasm/serde/mod.rs b/src/serde/mod.rs similarity index 100% rename from src/interpreter/wasm/serde/mod.rs rename to src/serde/mod.rs diff --git a/src/interpreter/wasm/serde/ser.rs b/src/serde/ser.rs similarity index 99% rename from src/interpreter/wasm/serde/ser.rs rename to src/serde/ser.rs index dd3cfb9..d87be5f 100644 --- a/src/interpreter/wasm/serde/ser.rs +++ b/src/serde/ser.rs @@ -1,6 +1,6 @@ //! Provides a serializer from Rust value to WIT values. -use crate::interpreter::wasm::values::InterfaceValue; +use crate::values::InterfaceValue; use serde::{ser, Serialize}; use std::fmt::{self, Display}; @@ -13,7 +13,7 @@ use std::fmt::{self, Display}; /// # Example /// /// ```rust -/// use wasmer_interface_types::interpreter::wasm::values::{ +/// use wasmer_interface_types::values::{ /// InterfaceValue, /// to_interface_value, /// }; diff --git a/src/interpreter/wasm/values.rs b/src/values.rs similarity index 97% rename from src/interpreter/wasm/values.rs rename to src/values.rs index 73ef60e..1d3cb26 100644 --- a/src/interpreter/wasm/values.rs +++ b/src/values.rs @@ -1,11 +1,13 @@ //! Defines WIT values and associated operations. -use crate::types::{InterfaceType, RecordType}; -use crate::{errors::WasmValueNativeCastError, vec1::Vec1}; +use crate::{ + types::{InterfaceType, RecordType}, + {errors::WasmValueNativeCastError, vec1::Vec1}, +}; use std::{convert::TryFrom, slice::Iter}; #[cfg(feature = "serde")] -pub use crate::interpreter::wasm::serde::{de::*, ser::*}; +pub use crate::serde::{de::from_interface_values, ser::to_interface_value}; /// A WIT value. #[derive(Debug, Clone, PartialEq)]