diff options
| author | Laurenz <laurmaedje@gmail.com> | 2021-08-16 14:33:32 +0200 |
|---|---|---|
| committer | Laurenz <laurmaedje@gmail.com> | 2021-08-16 14:40:02 +0200 |
| commit | ba6b91e2ee9dfa729d21879f27773de7c7731cfe (patch) | |
| tree | 1ad97aba9a51582d245fc34cc6b3a94be762e2b7 /src/eval | |
| parent | 7e6e7e928c5208cc26b62774e3fbc8dda82f10b6 (diff) | |
Editable source files
Diffstat (limited to 'src/eval')
| -rw-r--r-- | src/eval/mod.rs | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/src/eval/mod.rs b/src/eval/mod.rs index 30b34798..f2afbafb 100644 --- a/src/eval/mod.rs +++ b/src/eval/mod.rs @@ -51,9 +51,6 @@ pub fn eval( Ok(Module { scope: ctx.scopes.top, template }) } -/// Caches evaluated modules. -pub type ModuleCache = HashMap<SourceId, Module>; - /// An evaluated module, ready for importing or execution. #[derive(Debug, Clone, PartialEq)] pub struct Module { @@ -71,10 +68,10 @@ pub struct EvalContext<'a> { pub sources: &'a mut SourceStore, /// Stores decoded images. pub images: &'a mut ImageStore, - /// Caches evaluated modules. - pub modules: &'a mut ModuleCache, /// The stack of imported files that led to evaluation of the current file. pub route: Vec<SourceId>, + /// Caches imported modules. + pub modules: HashMap<SourceId, Module>, /// The active scopes. pub scopes: Scopes<'a>, /// The expression map for the currently built template. @@ -88,8 +85,8 @@ impl<'a> EvalContext<'a> { loader: ctx.loader.as_ref(), sources: &mut ctx.sources, images: &mut ctx.images, - modules: &mut ctx.modules, route: vec![source], + modules: HashMap::new(), scopes: Scopes::new(Some(&ctx.std)), map: ExprMap::new(), } |
