diff options
Diffstat (limited to 'src/fix-ng/eval.hh')
-rw-r--r-- | src/fix-ng/eval.hh | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/src/fix-ng/eval.hh b/src/fix-ng/eval.hh index 5fcb648a7403..364f28471b79 100644 --- a/src/fix-ng/eval.hh +++ b/src/fix-ng/eval.hh @@ -4,19 +4,23 @@ #include <map> #include "fix-expr.hh" +#include "expr.hh" typedef map<Expr, Expr> NormalForms; -//typedef map<Path, PathSet> PkgPaths; -//typedef map<Path, Hash> PkgHashes; +typedef map<Path, PathSet> DrvPaths; +typedef map<Path, Hash> DrvHashes; struct EvalState { NormalForms normalForms; - // PkgPaths pkgPaths; - // PkgHashes pkgHashes; /* normalised package hashes */ + DrvPaths drvPaths; + DrvHashes drvHashes; /* normalised derivation hashes */ Expr blackHole; + unsigned int nrEvaluated; + unsigned int nrCached; + EvalState(); }; @@ -27,5 +31,12 @@ Expr evalExpr(EvalState & state, Expr e); /* Evaluate an expression read from the given file to normal form. */ Expr evalFile(EvalState & state, const Path & path); +/* Specific results. */ +string evalString(EvalState & state, Expr e); +Path evalPath(EvalState & state, Expr e); + +/* Print statistics. */ +void printEvalStats(EvalState & state); + #endif /* !__EVAL_H */ |