This commit is contained in:
Shunsuke Shibayama 2023-06-15 10:49:09 +09:00
parent 5018aeb241
commit 1a4095077f
7 changed files with 170 additions and 34 deletions

View file

@ -6,6 +6,7 @@ use super::cache::SharedModuleCache;
use super::graph::SharedModuleGraph;
use super::impls::SharedTraitImpls;
use super::index::SharedModuleIndex;
use super::promise::SharedPromises;
#[derive(Debug, Clone, Default)]
pub struct SharedCompilerResource {
@ -17,6 +18,7 @@ pub struct SharedCompilerResource {
/// K: トレイトの名前, V: (型, その型が実装する単相化トレイト)
/// e.g. { "Named": [(Type, Named), (Func, Named), ...], "Add": [(Nat, Add(Nat)), (Int, Add(Int)), ...], ... }
pub trait_impls: SharedTraitImpls,
pub promises: SharedPromises,
}
impl SharedCompilerResource {
@ -29,6 +31,7 @@ impl SharedCompilerResource {
index: SharedModuleIndex::new(),
graph: SharedModuleGraph::new(),
trait_impls: SharedTraitImpls::new(),
promises: SharedPromises::new(),
};
Context::init_builtins(cfg, self_.clone());
self_