From 89994424418505fec7da5d56025c06b5a1fc9459 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Mon, 15 Sep 2025 22:06:58 +0900 Subject: [PATCH] mruby-compiler: remove unused NODE_ARGS_TAIL references NODE_ARGS_TAIL was a legacy enum value no longer created or used after the conversion to struct-based argument handling. This change: - Removes the NODE_ARGS_TAIL enum value from node.h - Removes the unused case from mrb_parser_dump function - Removes the obsolete assertion in dump_args function All tests pass and argument forwarding continues to work correctly. Co-authored-by: Claude --- mrbgems/mruby-compiler/core/node.h | 1 - mrbgems/mruby-compiler/core/parse.y | 22 ---------------------- mrbgems/mruby-compiler/core/y.tab.c | 22 ---------------------- 3 files changed, 45 deletions(-) diff --git a/mrbgems/mruby-compiler/core/node.h b/mrbgems/mruby-compiler/core/node.h index 91c913c8a..d95ff4338 100644 --- a/mrbgems/mruby-compiler/core/node.h +++ b/mrbgems/mruby-compiler/core/node.h @@ -60,7 +60,6 @@ enum node_type { NODE_XSTR, NODE_REGX, NODE_DREGX, - NODE_ARGS_TAIL, NODE_KW_ARG, NODE_KW_REST_ARGS, NODE_SPLAT, diff --git a/mrbgems/mruby-compiler/core/parse.y b/mrbgems/mruby-compiler/core/parse.y index cdb9abd1f..0fad0cb0a 100644 --- a/mrbgems/mruby-compiler/core/parse.y +++ b/mrbgems/mruby-compiler/core/parse.y @@ -7867,7 +7867,6 @@ dump_args(mrb_state *mrb, node *n, int offset) n = n->cdr; if (n) { - mrb_assert(node_to_int(n->car) == NODE_ARGS_TAIL); mrb_parser_dump(mrb, n, offset); } } @@ -8598,27 +8597,6 @@ mrb_parser_dump(mrb_state *mrb, node *tree, int offset) dump_recur(mrb, ((parser_heredoc_info*)tree)->doc, offset+1); break; - case NODE_ARGS_TAIL: - printf("NODE_ARGS_TAIL:\n"); - { - node *kws = tree->car; - - while (kws) { - mrb_parser_dump(mrb, kws->car, offset+1); - kws = kws->cdr; - } - } - tree = tree->cdr; - if (tree->car) { - mrb_assert(node_to_int(tree->car->car) == NODE_KW_REST_ARGS); - mrb_parser_dump(mrb, tree->car, offset+1); - } - tree = tree->cdr; - if (tree->car) { - dump_prefix(tree, offset+1); - printf("block='%s'\n", mrb_sym_name(mrb, node_to_sym(tree->car))); - } - break; case NODE_KW_ARG: printf("NODE_KW_ARG %s:\n", mrb_sym_name(mrb, node_to_sym(tree->car))); diff --git a/mrbgems/mruby-compiler/core/y.tab.c b/mrbgems/mruby-compiler/core/y.tab.c index 3607a6029..4a9efc5c8 100644 --- a/mrbgems/mruby-compiler/core/y.tab.c +++ b/mrbgems/mruby-compiler/core/y.tab.c @@ -14696,7 +14696,6 @@ dump_args(mrb_state *mrb, node *n, int offset) n = n->cdr; if (n) { - mrb_assert(node_to_int(n->car) == NODE_ARGS_TAIL); mrb_parser_dump(mrb, n, offset); } } @@ -15427,27 +15426,6 @@ mrb_parser_dump(mrb_state *mrb, node *tree, int offset) dump_recur(mrb, ((parser_heredoc_info*)tree)->doc, offset+1); break; - case NODE_ARGS_TAIL: - printf("NODE_ARGS_TAIL:\n"); - { - node *kws = tree->car; - - while (kws) { - mrb_parser_dump(mrb, kws->car, offset+1); - kws = kws->cdr; - } - } - tree = tree->cdr; - if (tree->car) { - mrb_assert(node_to_int(tree->car->car) == NODE_KW_REST_ARGS); - mrb_parser_dump(mrb, tree->car, offset+1); - } - tree = tree->cdr; - if (tree->car) { - dump_prefix(tree, offset+1); - printf("block='%s'\n", mrb_sym_name(mrb, node_to_sym(tree->car))); - } - break; case NODE_KW_ARG: printf("NODE_KW_ARG %s:\n", mrb_sym_name(mrb, node_to_sym(tree->car)));