From e03770b3f9bb5bacd84334ab5a8e085583cc02b0 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Tue, 9 Sep 2025 20:27:15 +0900 Subject: [PATCH] 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 --- mrbgems/mruby-compiler/core/codegen.c | 27 +++++++-------------------- 1 file changed, 7 insertions(+), 20 deletions(-) diff --git a/mrbgems/mruby-compiler/core/codegen.c b/mrbgems/mruby-compiler/core/codegen.c index fb6663806..09baf82c9 100644 --- a/mrbgems/mruby-compiler/core/codegen.c +++ b/mrbgems/mruby-compiler/core/codegen.c @@ -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;