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 min_reg = scope.register_counter.0 + 1;
let max_reg = scope.register_counter.0 + names.len() as u16; let max_reg = scope.register_counter.0 + names.len() as u16;
instructions.push(Instruction::LoadNil(min_reg, max_reg)); 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(); let mut new_registers = Vec::new();
for i in min_reg..=max_reg { for i in min_reg..=max_reg {

View File

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