(
&mut self,
resolve: &Resolve,
key: &WorldKey,
id: InterfaceId,
_files: &mut Files,
)
| 174 | } |
| 175 | |
| 176 | fn import_interface( |
| 177 | &mut self, |
| 178 | resolve: &Resolve, |
| 179 | key: &WorldKey, |
| 180 | id: InterfaceId, |
| 181 | _files: &mut Files, |
| 182 | ) -> anyhow::Result<()> { |
| 183 | let name = interface_name(self, resolve, key, Direction::Import); |
| 184 | self.interface_names.insert(id, name.clone()); |
| 185 | let mut r#gen = self.interface(resolve, &name, Direction::Import, false); |
| 186 | |
| 187 | let mut old_resources = mem::take(&mut r#gen.csharp_gen.all_resources); |
| 188 | r#gen.types(id); |
| 189 | let new_resources = mem::take(&mut r#gen.csharp_gen.all_resources); |
| 190 | old_resources.extend(new_resources.clone()); |
| 191 | r#gen.csharp_gen.all_resources = old_resources; |
| 192 | let import_module_name = &resolve.name_world_key(key); |
| 193 | for (resource, funcs) in by_resource( |
| 194 | resolve.interfaces[id] |
| 195 | .functions |
| 196 | .iter() |
| 197 | .map(|(k, v)| (k.as_str(), v)), |
| 198 | new_resources.keys().copied(), |
| 199 | ) { |
| 200 | if let Some(resource) = resource { |
| 201 | r#gen.start_resource(resource, Some(key)); |
| 202 | } |
| 203 | |
| 204 | for func in funcs { |
| 205 | r#gen.import(import_module_name, func); |
| 206 | } |
| 207 | |
| 208 | if resource.is_some() { |
| 209 | r#gen.end_resource(); |
| 210 | } |
| 211 | } |
| 212 | |
| 213 | // for anonymous types |
| 214 | r#gen.define_interface_types(id); |
| 215 | |
| 216 | r#gen.add_futures_or_streams(import_module_name, false, true); |
| 217 | |
| 218 | r#gen.add_futures_or_streams(import_module_name, false, false); |
| 219 | |
| 220 | r#gen.add_interface_fragment(false); |
| 221 | |
| 222 | Ok(()) |
| 223 | } |
| 224 | |
| 225 | fn import_funcs( |
| 226 | &mut self, |
nothing calls this directly
no test coverage detected