(
&mut self,
trait_name: &str,
methods: &[Source],
resource_traits: impl Iterator<Item = (TypeId, &'a str)>,
)
| 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, |
no test coverage detected