devalang_core/core/debugger/
module.rs1use std::{ fs::create_dir_all };
2use crate::core::{
3 debugger::Debugger,
4 store::{ function::FunctionTable, variable::VariableTable },
5};
6
7pub fn write_module_variable_log_file(
8 output_dir: &str,
9 module_path: &str,
10 variable_table: &VariableTable
11) {
12 let debugger = Debugger::new();
13 let mut content = String::new();
14 let module_name = module_path.split('/').last().unwrap_or("index").replace(".deva", "");
15
16 let log_directory = format!("{}/logs/modules/{}", output_dir, module_name);
17 create_dir_all(&log_directory).expect("Failed to create log directory");
18
19 for (var_name, var_data) in &variable_table.variables {
20 content.push_str(&format!("{:?} = {:?}\n", var_name, var_data));
21 }
22
23 content.push_str("\n");
24
25 debugger.write_log_file(&log_directory, "variables.log", &content);
26}
27
28pub fn write_module_function_log_file(
29 output_dir: &str,
30 module_path: &str,
31 function_table: &FunctionTable
32) {
33 let debugger = Debugger::new();
34 let mut content = String::new();
35 let module_name = module_path.split('/').last().unwrap_or("index").replace(".deva", "");
36
37 let log_directory = format!("{}/logs/modules/{}", output_dir, module_name);
38 create_dir_all(&log_directory).expect("Failed to create log directory");
39
40 for (func_name, func_data) in &function_table.functions {
41 content.push_str(&format!("{:?} = {:?}\n", func_name, func_data));
42 }
43
44 content.push_str("\n");
45
46 debugger.write_log_file(&log_directory, "functions.log", &content);
47}