about summary refs log tree commit diff
path: root/src/libexpr/eval.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/libexpr/eval.cc')
-rw-r--r--src/libexpr/eval.cc9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/libexpr/eval.cc b/src/libexpr/eval.cc
index e5c7226c1b8c..6ac07eed6cb8 100644
--- a/src/libexpr/eval.cc
+++ b/src/libexpr/eval.cc
@@ -143,8 +143,8 @@ EvalState::EvalState()
     , sIgnoreNulls(symbols.create("__ignoreNulls"))
     , repair(false)
     , baseEnv(allocEnv(128))
-    , baseEnvDispl(0)
     , staticBaseEnv(false, 0)
+    , baseEnvDispl(0)
 {
     nrEnvs = nrValuesInEnvs = nrValues = nrListElems = 0;
     nrAttrsets = nrOpUpdates = nrOpUpdateValuesCopied = 0;
@@ -456,6 +456,13 @@ void EvalState::evalFile(const Path & path, Value & v)
 }
 
 
+void EvalState::resetFileCache()
+{
+    fileEvalCache.clear();
+    parseTrees.clear();
+}
+
+
 void EvalState::eval(Expr * e, Value & v)
 {
     e->eval(*this, baseEnv, v);