aboutsummaryrefslogtreecommitdiff
path: root/src/libexpr/eval.hh
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2013-11-07 17:04:36 +0000
committerEelco Dolstra <eelco.dolstra@logicblox.com>2013-11-12 11:32:23 +0000
commitc897bac54954373f63511702731fe2cb23c0c98e (patch)
tree4074b4a2c43627b56d9c18c754a5cfbd340d8573 /src/libexpr/eval.hh
parent273322c7732093a354e86df82cf75d6604b8bce8 (diff)
Make function calls tail-recursive
Diffstat (limited to 'src/libexpr/eval.hh')
-rw-r--r--src/libexpr/eval.hh3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/libexpr/eval.hh b/src/libexpr/eval.hh
index 4e8e7e5f9..df34c7651 100644
--- a/src/libexpr/eval.hh
+++ b/src/libexpr/eval.hh
@@ -227,6 +227,7 @@ public:
bool eqValues(Value & v1, Value & v2);
void callFunction(Value & fun, Value & arg, Value & v);
+ void callPrimOp(Value & fun, Value & arg, Value & v);
/* Automatically call a function for which each argument has a
default value or has a binding in the `args' map. */
@@ -268,6 +269,8 @@ private:
typedef std::map<ExprLambda *, unsigned int> FunctionCalls;
FunctionCalls functionCalls;
+ void incrFunctionCall(ExprLambda * fun);
+
typedef std::map<Pos, unsigned int> AttrSelects;
AttrSelects attrSelects;