This commit is contained in:
vms 2020-11-08 14:26:43 +03:00
parent ee93b8788b
commit b9700ce81d
13 changed files with 29 additions and 19 deletions

View File

@ -225,5 +225,8 @@ impl<'a> WITResolver<'a> {
}
pub(crate) trait WITGenerator {
fn generate_wit<'ast_type, 'resolver>(&'ast_type self, wit_resolver: &'resolver mut WITResolver<'ast_type>) -> Result<()>;
fn generate_wit<'ast_type, 'resolver>(
&'ast_type self,
wit_resolver: &'resolver mut WITResolver<'ast_type>,
) -> Result<()>;
}

View File

@ -27,7 +27,10 @@ use fluence_sdk_wit::ParsedType;
use wasmer_wit::interpreter::Instruction;
impl WITGenerator for AstFunctionItem {
fn generate_wit<'ast_type, 'resolver>(&'ast_type self, wit_resolver: &'resolver mut WITResolver<'ast_type>) -> Result<()> {
fn generate_wit<'ast_type, 'resolver>(
&'ast_type self,
wit_resolver: &'resolver mut WITResolver<'ast_type>,
) -> Result<()> {
let arguments = &self.signature.arguments;
let output_type = &self.signature.output_type;

View File

@ -29,7 +29,10 @@ use wasmer_wit::interpreter::Instruction;
const HOST_NAMESPACE_NAME: &str = "host";
impl WITGenerator for AstExternModItem {
fn generate_wit<'ast_type, 'resolver>(&'ast_type self, wit_resolver: &'resolver mut WITResolver<'ast_type>) -> Result<()> {
fn generate_wit<'ast_type, 'resolver>(
&'ast_type self,
wit_resolver: &'resolver mut WITResolver<'ast_type>,
) -> Result<()> {
// host imports should be left as is
if self.namespace == HOST_NAMESPACE_NAME {
return Ok(());

View File

@ -25,7 +25,10 @@ use wasmer_wit::types::RecordType;
use wasmer_wit::vec1::Vec1;
impl WITGenerator for AstRecordItem {
fn generate_wit<'ast_type, 'resolver>(&'ast_type self, wit_resolver: &'resolver mut WITResolver<'ast_type>) -> Result<()> {
fn generate_wit<'ast_type, 'resolver>(
&'ast_type self,
wit_resolver: &'resolver mut WITResolver<'ast_type>,
) -> Result<()> {
use super::utils::ptype_to_itype_unchecked;
let fields = self

View File

@ -251,9 +251,7 @@ impl FCEModule {
wit.implementations()
.filter_map(|(adapter_function_id, core_function_id)| {
match wit.exports_by_type(*core_function_id) {
Some(export_function_name) => {
Some((adapter_function_id, export_function_name))
}
Some(export_function_name) => Some((adapter_function_id, export_function_name)),
// pass functions that aren't export
None => None,
}

View File

@ -25,7 +25,7 @@ pub use wit_instance::RecordTypes;
pub use wasmer_wit::types::InterfaceType as IType;
pub use wasmer_wit::types::RecordType as IRecordType;
pub use wasmer_wit::ast::FunctionArg as IFunctionArg;
pub use wasmer_wit::types::FunctionArg as IFunctionArg;
pub use wasmer_wit::values::InterfaceValue as IValue;
pub use fce_module::FCEFunctionSignature;
pub use wasmer_wit::values::from_interface_values;

View File

@ -15,8 +15,8 @@
*/
use super::*;
use crate::module::FCEModule;
use crate::module::RecordTypes;
use crate::block::FCEModule;
use crate::block::RecordTypes;
use std::collections::hash_map::Entry;
use std::collections::HashMap;

View File

@ -27,13 +27,21 @@
unreachable_patterns
)]
mod block;
mod config;
mod engine;
mod errors;
mod host_imports;
mod misc;
mod module;
pub use block::IValue;
pub use block::IRecordType;
pub use block::IFunctionArg;
pub use block::IType;
pub use block::RecordTypes;
pub use block::FCEFunctionSignature;
pub use block::from_interface_values;
pub use block::to_interface_value;
pub use config::FCEModuleConfig;
pub use config::HostExportedFunc;
pub use config::HostImportDescriptor;
@ -41,14 +49,6 @@ pub use engine::FCE;
pub use engine::FCEModuleInterface;
pub use errors::FCEError;
pub use host_imports::HostImportError;
pub use module::IValue;
pub use module::IRecordType;
pub use module::IFunctionArg;
pub use module::IType;
pub use module::RecordTypes;
pub use module::FCEFunctionSignature;
pub use module::from_interface_values;
pub use module::to_interface_value;
pub use wasmer_wit::types::RecordFieldType as IRecordFieldType;
pub mod vec1 {