Fix local variable definitions

This commit is contained in:
Sofia 2026-03-16 16:08:05 +02:00
parent 1eb62b078e
commit 130cb2763b
2 changed files with 1 additions and 4 deletions

View File

@ -116,7 +116,7 @@ impl Statement {
let min_reg = scope.register_counter.0 + 1;
let max_reg = scope.register_counter.0 + names.len() as u16;
instructions.push(Instruction::LoadNil(min_reg, max_reg));
scope.register_counter.0 += names.len() as u16;
scope.register_counter.0 += names.len() as u16 + 1;
let mut new_registers = Vec::new();
for i in min_reg..=max_reg {

View File

@ -373,7 +373,6 @@ impl ClosureRunner {
self.inner = Some(Box::new(closure.run(params)));
}
_ => {
dbg!(&value);
if *ret_len > 0 {
for i in 0..=(*ret_len - 2) {
self.set_stack(*func_reg + i, Value::Nil);
@ -392,13 +391,11 @@ impl ClosureRunner {
.max()
.unwrap_or(0);
dbg!(&self.stack);
let mut upvalues = self.closure.upvalues.clone();
for (reg, value) in &self.stack {
upvalues.insert(reg + highest_upvalue + 1, value.clone());
}
dbg!(&upvalues);
self.set_stack(
*reg,
Value::Function(Closure {