mruby-compiler: inline codegen_undef into gen_undef_var

remove codegen_undef wrapper function and inline its logic directly
into gen_undef_var. this completes NODE_UNDEF migration cleanup.

Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
Yukihiro "Matz" Matsumoto
2025-09-09 20:27:15 +09:00
parent 47d3dd9396
commit e03770b3f9
+7 -20
View File
@@ -4078,19 +4078,6 @@ codegen_postexe(codegen_scope *s, node *tree, int val)
codegen(s, tree, NOVAL);
}
static void
codegen_undef(codegen_scope *s, node *tree, int val)
{
node *t = tree;
while (t) {
int symbol = new_sym(s, node_to_sym(t->car));
genop_1(s, OP_UNDEF, symbol);
t = t->cdr;
}
gen_load_nil(s, val);
}
static void
codegen_block_arg(codegen_scope *s, node *tree, int val)
{
@@ -5852,9 +5839,14 @@ static void
gen_undef_var(codegen_scope *s, const node *varnode, int val)
{
struct mrb_ast_undef_node *undef = undef_node(varnode);
node *t = undef->syms;
// The syms field now contains the list directly
codegen_undef(s, undef->syms, val);
while (t) {
int symbol = new_sym(s, node_to_sym(t->car));
genop_1(s, OP_UNDEF, symbol);
t = t->cdr;
}
gen_load_nil(s, val);
}
static void
@@ -6332,11 +6324,6 @@ codegen(codegen_scope *s, node *tree, int val)
codegen_negate(s, tree, val);
break;
case NODE_UNDEF:
codegen_undef(s, tree, val);
break;
case NODE_DEF:
codegen_def(s, tree, val);
break;