mirror of
https://github.com/fluencelabs/marine.git
synced 2025-03-15 05:50:49 +00:00
update
This commit is contained in:
parent
ee93b8788b
commit
b9700ce81d
@ -225,5 +225,8 @@ impl<'a> WITResolver<'a> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub(crate) trait WITGenerator {
|
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<()>;
|
||||||
}
|
}
|
||||||
|
@ -27,7 +27,10 @@ use fluence_sdk_wit::ParsedType;
|
|||||||
use wasmer_wit::interpreter::Instruction;
|
use wasmer_wit::interpreter::Instruction;
|
||||||
|
|
||||||
impl WITGenerator for AstFunctionItem {
|
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 arguments = &self.signature.arguments;
|
||||||
let output_type = &self.signature.output_type;
|
let output_type = &self.signature.output_type;
|
||||||
|
|
||||||
|
@ -29,7 +29,10 @@ use wasmer_wit::interpreter::Instruction;
|
|||||||
const HOST_NAMESPACE_NAME: &str = "host";
|
const HOST_NAMESPACE_NAME: &str = "host";
|
||||||
|
|
||||||
impl WITGenerator for AstExternModItem {
|
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
|
// host imports should be left as is
|
||||||
if self.namespace == HOST_NAMESPACE_NAME {
|
if self.namespace == HOST_NAMESPACE_NAME {
|
||||||
return Ok(());
|
return Ok(());
|
||||||
|
@ -25,7 +25,10 @@ use wasmer_wit::types::RecordType;
|
|||||||
use wasmer_wit::vec1::Vec1;
|
use wasmer_wit::vec1::Vec1;
|
||||||
|
|
||||||
impl WITGenerator for AstRecordItem {
|
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;
|
use super::utils::ptype_to_itype_unchecked;
|
||||||
|
|
||||||
let fields = self
|
let fields = self
|
||||||
|
@ -251,9 +251,7 @@ impl FCEModule {
|
|||||||
wit.implementations()
|
wit.implementations()
|
||||||
.filter_map(|(adapter_function_id, core_function_id)| {
|
.filter_map(|(adapter_function_id, core_function_id)| {
|
||||||
match wit.exports_by_type(*core_function_id) {
|
match wit.exports_by_type(*core_function_id) {
|
||||||
Some(export_function_name) => {
|
Some(export_function_name) => Some((adapter_function_id, export_function_name)),
|
||||||
Some((adapter_function_id, export_function_name))
|
|
||||||
}
|
|
||||||
// pass functions that aren't export
|
// pass functions that aren't export
|
||||||
None => None,
|
None => None,
|
||||||
}
|
}
|
@ -25,7 +25,7 @@ pub use wit_instance::RecordTypes;
|
|||||||
|
|
||||||
pub use wasmer_wit::types::InterfaceType as IType;
|
pub use wasmer_wit::types::InterfaceType as IType;
|
||||||
pub use wasmer_wit::types::RecordType as IRecordType;
|
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 wasmer_wit::values::InterfaceValue as IValue;
|
||||||
pub use fce_module::FCEFunctionSignature;
|
pub use fce_module::FCEFunctionSignature;
|
||||||
pub use wasmer_wit::values::from_interface_values;
|
pub use wasmer_wit::values::from_interface_values;
|
@ -15,8 +15,8 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
use super::*;
|
use super::*;
|
||||||
use crate::module::FCEModule;
|
use crate::block::FCEModule;
|
||||||
use crate::module::RecordTypes;
|
use crate::block::RecordTypes;
|
||||||
|
|
||||||
use std::collections::hash_map::Entry;
|
use std::collections::hash_map::Entry;
|
||||||
use std::collections::HashMap;
|
use std::collections::HashMap;
|
||||||
|
@ -27,13 +27,21 @@
|
|||||||
unreachable_patterns
|
unreachable_patterns
|
||||||
)]
|
)]
|
||||||
|
|
||||||
|
mod block;
|
||||||
mod config;
|
mod config;
|
||||||
mod engine;
|
mod engine;
|
||||||
mod errors;
|
mod errors;
|
||||||
mod host_imports;
|
mod host_imports;
|
||||||
mod misc;
|
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::FCEModuleConfig;
|
||||||
pub use config::HostExportedFunc;
|
pub use config::HostExportedFunc;
|
||||||
pub use config::HostImportDescriptor;
|
pub use config::HostImportDescriptor;
|
||||||
@ -41,14 +49,6 @@ pub use engine::FCE;
|
|||||||
pub use engine::FCEModuleInterface;
|
pub use engine::FCEModuleInterface;
|
||||||
pub use errors::FCEError;
|
pub use errors::FCEError;
|
||||||
pub use host_imports::HostImportError;
|
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 use wasmer_wit::types::RecordFieldType as IRecordFieldType;
|
||||||
pub mod vec1 {
|
pub mod vec1 {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user