diff options
author | Marius Kintel <marius@kintel.net> | 2013-04-19 21:52:01 (GMT) |
---|---|---|
committer | Marius Kintel <marius@kintel.net> | 2013-04-26 21:45:03 (GMT) |
commit | 9a297ecee57549a4eb3919bde4f7b41a548724de (patch) | |
tree | b1f523e93f528559e9ada2d38d76be7a0362f9d4 /src/control.cc | |
parent | b4568a09df8be0f212ba1c4fd1660459900e3cf0 (diff) |
Refactoring: Split out FileModule from Module, Added LocalScope renamed some confusing 'evaluate' methods to 'instantiate', added FileContext (not yet used)
Diffstat (limited to 'src/control.cc')
-rw-r--r-- | src/control.cc | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/src/control.cc b/src/control.cc index d45ee02..7786e36 100644 --- a/src/control.cc +++ b/src/control.cc @@ -46,7 +46,7 @@ class ControlModule : public AbstractModule public: control_type_e type; ControlModule(control_type_e type) : type(type) { } - virtual AbstractNode *evaluate(const Context *ctx, const ModuleInstantiation *inst, const EvalContext *evalctx) const; + virtual AbstractNode *instantiate(const Context *ctx, const ModuleInstantiation *inst, const EvalContext *evalctx) const; }; void for_eval(AbstractNode &node, const ModuleInstantiation &inst, size_t l, @@ -81,12 +81,12 @@ void for_eval(AbstractNode &node, const ModuleInstantiation &inst, size_t l, for_eval(node, inst, l+1, &c, evalctx); } } else if (l > 0) { - std::vector<AbstractNode *> evaluatednodes = inst.evaluateChildren(ctx); - node.children.insert(node.children.end(), evaluatednodes.begin(), evaluatednodes.end()); + std::vector<AbstractNode *> instantiatednodes = inst.instantiateChildren(ctx); + node.children.insert(node.children.end(), instantiatednodes.begin(), instantiatednodes.end()); } } -AbstractNode *ControlModule::evaluate(const Context *ctx, const ModuleInstantiation *inst, const EvalContext *evalctx) const +AbstractNode *ControlModule::instantiate(const Context *ctx, const ModuleInstantiation *inst, const EvalContext *evalctx) const { AbstractNode *node = NULL; @@ -115,7 +115,7 @@ AbstractNode *ControlModule::evaluate(const Context *ctx, const ModuleInstantiat if (filectx->evalctx) { if (n < filectx->evalctx->numChildren()) { - node = filectx->evalctx->getChild(n)->evaluate_instance(filectx->evalctx); + node = filectx->evalctx->getChild(n)->evaluate(filectx->evalctx); } else { // How to deal with negative objects in this case? @@ -155,8 +155,8 @@ AbstractNode *ControlModule::evaluate(const Context *ctx, const ModuleInstantiat if (!evalctx->getArgName(i).empty()) c.set_variable(evalctx->getArgName(i), evalctx->getArgValue(i)); } - std::vector<AbstractNode *> evaluatednodes = inst->evaluateChildren(&c); - node->children.insert(node->children.end(), evaluatednodes.begin(), evaluatednodes.end()); + std::vector<AbstractNode *> instantiatednodes = inst->instantiateChildren(&c); + node->children.insert(node->children.end(), instantiatednodes.begin(), instantiatednodes.end()); } if (type == FOR || type == INT_FOR) @@ -168,12 +168,12 @@ AbstractNode *ControlModule::evaluate(const Context *ctx, const ModuleInstantiat { const IfElseModuleInstantiation *ifelse = dynamic_cast<const IfElseModuleInstantiation*>(inst); if (evalctx->numArgs() > 0 && evalctx->getArgValue(0).toBool()) { - std::vector<AbstractNode *> evaluatednodes = ifelse->evaluateChildren(evalctx); - node->children.insert(node->children.end(), evaluatednodes.begin(), evaluatednodes.end()); + std::vector<AbstractNode *> instantiatednodes = ifelse->instantiateChildren(evalctx); + node->children.insert(node->children.end(), instantiatednodes.begin(), instantiatednodes.end()); } else { - std::vector<AbstractNode *> evaluatednodes = ifelse->evaluateElseChildren(evalctx); - node->children.insert(node->children.end(), evaluatednodes.begin(), evaluatednodes.end()); + std::vector<AbstractNode *> instantiatednodes = ifelse->instantiateElseChildren(evalctx); + node->children.insert(node->children.end(), instantiatednodes.begin(), instantiatednodes.end()); } } |