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

Method export_funcs

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

Source from the content-addressed store, hash-verified

631 }
632
633 fn export_funcs(
634 &mut self,
635 resolve: &Resolve,
636 world: WorldId,
637 funcs: &[(&str, &Function)],
638 _files: &mut Files,
639 ) -> anyhow::Result<()> {
640 let name = WorldKey::Name(resolve.worlds[world].name.clone());
641 let binding = Some(name);
642 let mut r#gen = self.interface(resolve, binding.as_ref(), false, None);
643 let namespace = namespace(resolve, &TypeOwner::World(world), true, &r#gen.r#gen.opts);
644
645 for (_name, func) in funcs.iter() {
646 if matches!(func.kind, FunctionKind::Freestanding) {
647 r#gen.r#gen.h_src.change_namespace(&namespace);
648 r#gen.generate_function(func, &TypeOwner::World(world), AbiVariant::GuestExport);
649 }
650 }
651 Ok(())
652 }
653
654 fn import_types(
655 &mut self,

Callers

nothing calls this directly

Calls 5

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

Tested by

no test coverage detected