aboutsummaryrefslogtreecommitdiff
path: root/src/libexpr/eval.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/libexpr/eval.hh')
-rw-r--r--src/libexpr/eval.hh7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/libexpr/eval.hh b/src/libexpr/eval.hh
index 738ca9439..ee7db91a0 100644
--- a/src/libexpr/eval.hh
+++ b/src/libexpr/eval.hh
@@ -122,7 +122,7 @@ struct Env
struct Attr
{
- Value value;
+ Value * value;
Pos * pos;
Attr() : pos(&noPos) { };
};
@@ -294,12 +294,15 @@ public:
/* Automatically call a function for which each argument has a
default value or has a binding in the `args' map. */
- void autoCallFunction(const Bindings & args, Value & fun, Value & res);
+ void autoCallFunction(Bindings & args, Value & fun, Value & res);
/* Allocation primitives. */
+ Value * allocValue();
Value * allocValues(unsigned int count);
Env & allocEnv(unsigned int size);
+ Value * allocAttr(Value & vAttrs, const Symbol & name);
+
void mkList(Value & v, unsigned int length);
void mkAttrs(Value & v);
void mkThunk_(Value & v, Expr * expr);