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

Method import_interface

crates/c/src/lib.rs:209–233  ·  view source on GitHub ↗
(
        &mut self,
        resolve: &Resolve,
        name: &WorldKey,
        id: InterfaceId,
        _files: &mut Files,
    )

Source from the content-addressed store, hash-verified

207 }
208
209 fn import_interface(
210 &mut self,
211 resolve: &Resolve,
212 name: &WorldKey,
213 id: InterfaceId,
214 _files: &mut Files,
215 ) -> Result<()> {
216 let wasm_import_module = resolve.name_world_key(name);
217 let mut r#gen = self.interface(resolve, true, Some(&wasm_import_module));
218 r#gen.interface = Some((id, name));
219 r#gen.define_interface_types(id);
220
221 for (i, (_name, func)) in resolve.interfaces[id].functions.iter().enumerate() {
222 if i == 0 {
223 let name = resolve.name_world_key(name);
224 uwriteln!(r#gen.src.h_fns, "\n// Imported Functions from `{name}`");
225 uwriteln!(r#gen.src.c_fns, "\n// Imported Functions from `{name}`");
226 }
227 r#gen.import(Some(name), func);
228 }
229
230 r#gen.r#gen.src.append(&r#gen.src);
231
232 Ok(())
233 }
234
235 fn import_funcs(
236 &mut self,

Callers 1

generateMethod · 0.45

Calls 5

appendMethod · 0.80
interfaceMethod · 0.45
iterMethod · 0.45
importMethod · 0.45

Tested by

no test coverage detected