3#include <nix/nixexpr.hh>
9using ValueMap = std::map<std::uintptr_t, nix::Value>;
10using EnvMap = std::map<std::uintptr_t, nix::Env *>;
19 void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V)
override;
30 void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V)
override;
41 void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V)
override;
53 void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V)
override;
64 void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V)
override;
74 void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V)
override;
85 void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V)
override;
96 void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V)
override;
107 void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V)
override;
118 void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V)
override;
129 void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V)
override;
141 void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V)
override;
152 void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V)
override;
164 void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V)
override;
175 void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V)
override;
186 void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V)
override;
197 void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V)
override;
208 void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V)
override;
220 void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V)
override;
231 v.mkPath(&*accessor, s.c_str());
233 void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V)
override;
244 void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V)
override;
255 void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V)
override;
266 v.mkString(s.data());
268 void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V)
override;
279 void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V)
override;
290 void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V)
override;
Access EvalCache in nix::EvalState.
std::map< std::uintptr_t, nix::Env * > EnvMap
std::map< std::uintptr_t, nix::Value > ValueMap
HookExprAssert(nix::ExprAssert E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override
void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override
HookExprAttrs(nix::ExprAttrs E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override
HookExprCall(nix::ExprCall E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override
HookExprConcatStrings(nix::ExprConcatStrings E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
HookExprFloat(nix::ExprFloat E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override
HookExprIf(nix::ExprIf E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override
HookExprInt(nix::ExprInt E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override
HookExprLambda(nix::ExprLambda E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override
HookExprLet(nix::ExprLet E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override
HookExprList(nix::ExprList E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override
void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override
HookExprOpAnd(nix::ExprOpAnd E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override
HookExprOpConcatLists(nix::ExprOpConcatLists E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
HookExprOpEq(nix::ExprOpEq E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override
void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override
HookExprOpHasAttr(nix::ExprOpHasAttr E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
HookExprOpImpl(nix::ExprOpImpl E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override
void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override
HookExprOpNEq(nix::ExprOpNEq E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
HookExprOpNot(nix::ExprOpNot E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override
void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override
HookExprOpOr(nix::ExprOpOr E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override
HookExprOpUpdate(nix::ExprOpUpdate E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
HookExprPath(nix::ExprPath E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override
void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override
HookExprPos(nix::ExprPos E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override
HookExprSelect(nix::ExprSelect E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
HookExprString(nix::ExprString E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override
HookExprVar(nix::ExprVar E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override
void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override
HookExprWith(nix::ExprWith E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)