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

Method finish_file

crates/cpp/src/lib.rs:454–476  ·  view source on GitHub ↗
(&mut self, namespace: &[String], store: FileContext)

Source from the content-addressed store, hash-verified

452 }
453
454 fn finish_file(&mut self, namespace: &[String], store: FileContext) {
455 if !store.src.src.is_empty() {
456 let mut header = String::default();
457 self.finish_includes();
458 self.h_src.change_namespace(&[]);
459 uwriteln!(header, "#pragma once");
460 for include in self.includes.iter() {
461 uwriteln!(header, "#include {include}");
462 }
463 header.push_str(&self.h_src.src);
464 let mut filename = namespace.join("-");
465 filename.push_str(".h");
466 if self.opts.format {
467 Self::clang_format(&mut header);
468 }
469 self.user_class_files.insert(filename.clone(), header);
470
471 let _ = std::mem::replace(&mut self.includes, store.includes);
472 let _ = std::mem::replace(&mut self.h_src, store.src);
473 let _ = std::mem::replace(&mut self.dependencies, store.dependencies);
474 self.includes.push(String::from("\"") + &filename + "\"");
475 }
476 }
477}
478
479#[derive(Default)]

Callers 3

import_interfaceMethod · 0.80
export_interfaceMethod · 0.80
type_resourceMethod · 0.80

Calls 8

finish_includesMethod · 0.80
change_namespaceMethod · 0.80
joinMethod · 0.80
is_emptyMethod · 0.45
iterMethod · 0.45
push_strMethod · 0.45
insertMethod · 0.45
pushMethod · 0.45

Tested by

no test coverage detected