turtle-build 0.5.0

Ninja-compatible build system for high-level programming languages
Documentation
use crate::{ast::Module, module_dependency::ModuleDependencyMap};
use std::{collections::HashMap, path::PathBuf};

#[derive(Debug)]
pub struct Context<'a> {
    modules: &'a HashMap<PathBuf, Module>,
    dependencies: &'a ModuleDependencyMap,
}

impl<'a> Context<'a> {
    pub const fn new(
        modules: &'a HashMap<PathBuf, Module>,
        dependencies: &'a ModuleDependencyMap,
    ) -> Self {
        Self {
            modules,
            dependencies,
        }
    }

    pub const fn modules(&self) -> &HashMap<PathBuf, Module> {
        self.modules
    }

    pub const fn dependencies(&self) -> &ModuleDependencyMap {
        self.dependencies
    }
}