mirror of
https://github.com/fluencelabs/parity-wasm
synced 2025-06-22 19:21:59 +00:00
export_by_name
This commit is contained in:
@ -32,7 +32,7 @@ impl ProgramInstance {
|
||||
for import_entry in module.import_section().map(|s| s.entries()).unwrap_or(&[]) {
|
||||
let module = self.modules[import_entry.module()];
|
||||
let extern_val = module
|
||||
.resolve_export(&self.store, import_entry.field())
|
||||
.export_by_name(&self.store, import_entry.field())
|
||||
.ok_or_else(|| {
|
||||
Error::Program(format!(
|
||||
"Module {} doesn't have export {}",
|
||||
@ -70,7 +70,7 @@ impl ProgramInstance {
|
||||
Error::Program(format!("Module {} not found", module_name))
|
||||
})?;
|
||||
let extern_val = module_id
|
||||
.resolve_export(&self.store, func_name)
|
||||
.export_by_name(&self.store, func_name)
|
||||
.ok_or_else(|| {
|
||||
Error::Program(format!(
|
||||
"Module {} doesn't have export {}",
|
||||
|
@ -27,9 +27,6 @@ impl TypeId {
|
||||
#[derive(Copy, Clone, Debug)]
|
||||
pub struct ModuleId(u32);
|
||||
|
||||
// TODO: Work on naming: resolve gets instances or ids?
|
||||
// global_by_index vs resolve_global?
|
||||
|
||||
impl ModuleId {
|
||||
pub fn memory_by_index(&self, store: &Store, idx: u32) -> Option<MemoryId> {
|
||||
store.resolve_module(*self)
|
||||
@ -67,9 +64,11 @@ impl ModuleId {
|
||||
.cloned()
|
||||
}
|
||||
|
||||
pub fn resolve_export(&self, store: &Store, name: &str) -> Option<ExternVal> {
|
||||
let instance = store.resolve_module(*self);
|
||||
instance.exports.get(name).cloned()
|
||||
pub fn export_by_name(&self, store: &Store, name: &str) -> Option<ExternVal> {
|
||||
store.resolve_module(*self)
|
||||
.exports
|
||||
.get(name)
|
||||
.cloned()
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user