devalang_core/core/debugger/
preprocessor.rs

1use 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}