MCPcopy Create free account
hub / github.com/bytecodealliance/wit-bindgen / import_funcs

Method import_funcs

crates/cpp/src/lib.rs:612–631  ·  view source on GitHub ↗
(
        &mut self,
        resolve: &Resolve,
        world: WorldId,
        funcs: &[(&str, &Function)],
        _files: &mut Files,
    )

Source from the content-addressed store, hash-verified

610 }
611
612 fn import_funcs(
613 &mut self,
614 resolve: &Resolve,
615 world: WorldId,
616 funcs: &[(&str, &Function)],
617 _files: &mut Files,
618 ) {
619 let name = WorldKey::Name("$root".to_string()); //WorldKey::Name(resolve.worlds[world].name.clone());
620 let wasm_import_module = resolve.name_world_key(&name);
621 let binding = Some(name);
622 let mut r#gen = self.interface(resolve, binding.as_ref(), true, Some(wasm_import_module));
623 let namespace = namespace(resolve, &TypeOwner::World(world), false, &r#gen.r#gen.opts);
624
625 for (_name, func) in funcs.iter() {
626 if matches!(func.kind, FunctionKind::Freestanding) {
627 r#gen.r#gen.h_src.change_namespace(&namespace);
628 r#gen.generate_function(func, &TypeOwner::World(world), AbiVariant::GuestImport);
629 }
630 }
631 }
632
633 fn export_funcs(
634 &mut self,

Callers

nothing calls this directly

Calls 6

namespaceFunction · 0.85
change_namespaceMethod · 0.80
generate_functionMethod · 0.80
to_stringMethod · 0.45
interfaceMethod · 0.45
iterMethod · 0.45

Tested by

no test coverage detected