summaryrefslogtreecommitdiff
path: root/src/eval/mod.rs
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2021-08-16 14:33:32 +0200
committerLaurenz <laurmaedje@gmail.com>2021-08-16 14:40:02 +0200
commitba6b91e2ee9dfa729d21879f27773de7c7731cfe (patch)
tree1ad97aba9a51582d245fc34cc6b3a94be762e2b7 /src/eval/mod.rs
parent7e6e7e928c5208cc26b62774e3fbc8dda82f10b6 (diff)
Editable source files
Diffstat (limited to 'src/eval/mod.rs')
-rw-r--r--src/eval/mod.rs9
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(),
}