diff options
author | Marius Kintel <marius@kintel.net> | 2013-04-19 01:42:33 (GMT) |
---|---|---|
committer | Marius Kintel <marius@kintel.net> | 2013-04-26 21:42:32 (GMT) |
commit | 64ed1eb9fe00e287d84b18830df86cc0de6b122a (patch) | |
tree | 3b5f4a51209b62a14d28abc7c0e01fc5753e162c /src/context.cc | |
parent | a96f3f3c67d496279151cd3fff47589b8684c378 (diff) |
Experiment: Lazy evaluation of argument lists in evaluation context. Allows e.g. for loop variables to be dependent on each other
Diffstat (limited to 'src/context.cc')
-rw-r--r-- | src/context.cc | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/context.cc b/src/context.cc index 706407c..ea48dad 100644 --- a/src/context.cc +++ b/src/context.cc @@ -66,9 +66,9 @@ void Context::setVariables(const AssignmentList &args, if (evalctx) { size_t posarg = 0; - for (size_t i=0; i<evalctx->eval_arguments.size(); i++) { - const std::string &name = evalctx->eval_arguments[i].first; - const Value &val = evalctx->eval_arguments[i].second; + for (size_t i=0; i<evalctx->numArgs(); i++) { + const std::string &name = evalctx->getArgName(i); + const Value &val = evalctx->getArgValue(i); if (name.empty()) { if (posarg < args.size()) this->set_variable(args[posarg++].first, val); } else { |