rustycpp 0.1.6

An attempt to implement the C++20 standard. This is mostly to have fun & learn rust
use std::sync::{Arc, Mutex};

use crate::compiler::TranslationUnit;
use crate::utils::filemap::FileMap;
use crate::utils::structs::CompileMsg;

use super::dependency_dfs::generateModuleTree;
use super::dependency_interpreter::generateNodes;
use super::dependency_parser::parseModuleMacroOps;
use super::structs::ModuleTree;

pub fn generateDependencyTree(
    mainTranslationUnits: &Vec<TranslationUnit>,
    compileFiles: &mut Arc<Mutex<FileMap>>,
) -> Result<ModuleTree, Vec<CompileMsg>> {
    parseModuleMacroOps(mainTranslationUnits, compileFiles)
        .and_then(|x| generateNodes(x, compileFiles))
        .and_then(|x| generateModuleTree(x, compileFiles))
}