refactor: make only top level codegen is public and CodeGen private

This commit is contained in:
Wataru Otsubo 2025-02-06 18:54:11 +09:00
parent 472723016c
commit a6c56ef9d6
2 changed files with 10 additions and 4 deletions

View file

@ -120,7 +120,13 @@ mod util {
}
}
pub trait CodeGen {
impl Module {
pub fn generate_code(self) -> Result<HashMap<path::PathBuf, proc_macro2::TokenStream>, CodeGenError> {
self.generate_register_interface(None, None, HashMap::new())
}
}
trait CodeGen {
/// `parent_name` in UpperCamelCase.
fn generate_register_interface(
self,

View file

@ -1,9 +1,9 @@
use std::fs::DirBuilder;
use std::io::Write;
use std::{collections::HashMap, fs, io::BufWriter};
use std::{fs, io::BufWriter};
use anyhow::{anyhow, Context, Result};
use endcap_sl_software_ri_generator::{generator::CodeGen, types};
use endcap_sl_software_ri_generator::types;
use itertools::Itertools;
fn main() -> Result<()> {
@ -26,7 +26,7 @@ fn main() -> Result<()> {
println!("===========================================");
let files = register_map.generate_register_interface(None, None, HashMap::new())?;
let files = register_map.generate_code()?;
// println!("{:#?}", files);
for filepath in files.keys().sorted() {
println!("{}", filepath.display());