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

Method generate_interface_trait

crates/rust/src/interface.rs:333–352  ·  view source on GitHub ↗
(
        &mut self,
        trait_name: &str,
        methods: &[Source],
        resource_traits: impl Iterator<Item = (TypeId, &'a str)>,
    )

Source from the content-addressed store, hash-verified

331 }
332
333 fn generate_interface_trait<'a>(
334 &mut self,
335 trait_name: &str,
336 methods: &[Source],
337 resource_traits: impl Iterator<Item = (TypeId, &'a str)>,
338 ) {
339 uwriteln!(self.src, "pub trait {trait_name} {{");
340 for (id, trait_name) in resource_traits {
341 let name = self.resolve.types[id]
342 .name
343 .as_ref()
344 .unwrap()
345 .to_upper_camel_case();
346 uwriteln!(self.src, "type {name}: {trait_name};");
347 }
348 for method in methods {
349 self.src.push_str(method);
350 }
351 uwriteln!(self.src, "}}");
352 }
353
354 pub fn generate_imports<'a>(
355 &mut self,

Callers 1

generate_exportsMethod · 0.80

Calls 1

push_strMethod · 0.45

Tested by

no test coverage detected