added more enviroment functions and fixed some argument bugs

This commit is contained in:
afonya2 2025-06-11 17:57:52 +02:00
parent 12d3250bc4
commit cca26d9fc3
Signed by: afonya
GPG key ID: EBB9C4CAFAAFB2DC
5 changed files with 107 additions and 25 deletions

View file

@ -249,7 +249,10 @@ fn do_ast_op(ast_op: ASTPart, op_count: &mut usize, ops: &mut Vec<Operation>, va
for arg in call.args {
let arg_reg = do_ast_op(arg, op_count, ops, variables, next_var_id, strings, next_string_id, functions, next_function_id, registers, ctx, traceback);
ops.push(Operation { opcode: 28, arg1: Some(arg_reg), arg2: None, arg3: None, pos: call.pos as u32 });
set_register(registers, RegisterState { id: arg_reg, used: false, variable: 0, last_used: 0 });
let reg = get_register_by_id(registers, arg_reg);
if reg.variable == 0 {
set_register(registers, RegisterState { id: arg_reg, used: false, variable: 0, last_used: 0 });
}
}
let ret_reg = allocate_register(registers);
if ret_reg.unbind_before {