devalang_core/core/debugger/
preprocessor.rs1use crate::core::{debugger::Debugger, parser::statement::Statement};
2use std::{collections::HashMap, fs::create_dir_all};
3
4pub fn write_preprocessor_log_file(
5 output_dir: &str,
6 file_name: &str,
7 modules: HashMap<String, Vec<Statement>>,
8) {
9 let debugger = Debugger::new();
10 let mut content = String::new();
11
12 let log_directory = format!("{}/logs", output_dir);
13
14 create_dir_all(&log_directory).expect("Failed to create log directory");
15
16 for (path, stmts) in modules {
17 content.push_str(&format!("--- Resolved Statements for {} ---\n", path));
18
19 for stmt in stmts {
20 content.push_str(&format!("{:?}\n", stmt));
21 }
22
23 content.push('\n');
24 }
25
26 debugger.write_log_file(&log_directory, file_name, &content);
27}