From a6c56ef9d6b58ce9fba1fef99adb8ad3513240eb Mon Sep 17 00:00:00 2001 From: Wataru Otsubo Date: Thu, 6 Feb 2025 18:54:11 +0900 Subject: [PATCH] refactor: make only top level codegen is public and CodeGen private --- src/generator.rs | 8 +++++++- src/main.rs | 6 +++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/generator.rs b/src/generator.rs index 2ab6d5c..ba137cc 100644 --- a/src/generator.rs +++ b/src/generator.rs @@ -120,7 +120,13 @@ mod util { } } -pub trait CodeGen { +impl Module { + pub fn generate_code(self) -> Result, CodeGenError> { + self.generate_register_interface(None, None, HashMap::new()) + } +} + +trait CodeGen { /// `parent_name` in UpperCamelCase. fn generate_register_interface( self, diff --git a/src/main.rs b/src/main.rs index 9b443de..3a43e59 100644 --- a/src/main.rs +++ b/src/main.rs @@ -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());