Fix compiler crashes and improve return statements. (#652)

* fix a few small bugs

* fi

* fix merge conflict
This commit is contained in:
water111
2021-06-30 00:11:46 -04:00
committed by GitHub
parent 7e7f10ed3a
commit 322a4ed9b2
16 changed files with 332 additions and 293 deletions
+6 -2
View File
@@ -3187,10 +3187,14 @@ void ReturnElement::push_to_stack(const Env& env, FormPool& pool, FormStack& sta
std::vector<FormElement*> new_entries;
new_entries = rewrite_to_get_var(temp_stack, pool, env.end_var(), env);
assert(!new_entries.empty());
return_code->clear();
for (auto e : new_entries) {
return_code->push_back(e);
for (int i = 0; i < ((int)new_entries.size()) - 1; i++) {
stack.push_form_element(new_entries.at(i), true);
}
return_code->push_back(new_entries.back());
stack.push_form_element(this, true);
}