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/module.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/module.cc')
-rw-r--r-- | src/module.cc | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/src/module.cc b/src/module.cc index 7d83975..3f6dd22 100644 --- a/src/module.cc +++ b/src/module.cc @@ -112,14 +112,7 @@ std::string ModuleInstantiation::dump(const std::string &indent) const AbstractNode *ModuleInstantiation::evaluate_instance(const Context *ctx) const { - EvalContext c(ctx); - BOOST_FOREACH(const Assignment &arg, this->arguments) { - c.eval_arguments.push_back(std::make_pair(arg.first, - arg.second ? - arg.second->evaluate(ctx) : - Value())); - } - c.children = this->children; + EvalContext c(ctx, this->arguments, &this->children); #if 0 && DEBUG PRINT("New eval ctx:"); |