Support for loading variables from module with require
Some checks failed
continuous-integration/drone/push Build is failing

This commit is contained in:
2019-08-11 12:32:18 +02:00
parent c39f3a0884
commit 641b6784c7
8 changed files with 89 additions and 28 deletions

View File

@@ -402,13 +402,14 @@ namespace Porygon::Evaluation {
EvalValuePointer Evaluator::EvaluateRequireExpression(const BoundExpression* expression) {
auto module = dynamic_cast<const BoundRequireExpression*>(expression)->GetModule();
auto result = module->Evaluate();
if (module ->GetReturnType() == nullptr){
for (const auto& v: *module->GetScriptVariables()){
this->_scriptVariables->insert({v.first, v.second.Clone()});
this->_scriptVariables->at(v.first) = v.second.Clone();
}
return nullptr;
} else{
return module -> Evaluate().Take();
return result.Take();
}
}
}