mruby-compiler: remove unused NODE_KW_HASH node type

Eliminates NODE_KW_HASH enum, mrb_ast_kw_hash_node struct, gen_kw_hash_var
function, and related macros. All keyword hash functionality now unified
under NODE_HASH, completing the AST simplification.

Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
Yukihiro "Matz" Matsumoto
2025-09-24 14:11:03 +09:00
parent e871b2052c
commit 511a5d13d3
4 changed files with 0 additions and 51 deletions
-17
View File
@@ -5431,19 +5431,6 @@ gen_lambda_var(codegen_scope *s, node *varnode, int val)
push();
}
static void
gen_kw_hash_var(codegen_scope *s, node *varnode, int val)
{
struct mrb_ast_kw_hash_node *n = kw_hash_node(varnode);
int nk = gen_hash(s, n->args, val, GEN_LIT_ARY_MAX);
if (val && nk >= 0) {
pop_n(nk*2);
genop_2(s, OP_HASH, cursp(), nk);
push();
}
}
static void
gen_words_var(codegen_scope *s, node *varnode, int val)
{
@@ -5920,10 +5907,6 @@ codegen(codegen_scope *s, node *tree, int val)
gen_lambda_var(s, tree, val);
break;
case NODE_KW_HASH:
gen_kw_hash_var(s, tree, val);
break;
case NODE_WORDS:
gen_words_var(s, tree, val);
break;
-8
View File
@@ -37,7 +37,6 @@ enum node_type {
NODE_ARRAY,
NODE_ZARRAY,
NODE_HASH,
NODE_KW_HASH,
NODE_RETURN,
NODE_YIELD,
NODE_LVAR,
@@ -799,11 +798,6 @@ struct mrb_ast_zarray_node {
struct mrb_ast_var_header hdr;
};
struct mrb_ast_kw_hash_node {
struct mrb_ast_var_header hdr;
struct mrb_ast_node *args;
};
struct mrb_ast_words_node {
struct mrb_ast_var_header hdr;
struct mrb_ast_node *args;
@@ -898,7 +892,6 @@ struct mrb_ast_postexe_node {
#define zsuper_node(n) ((struct mrb_ast_super_node*)(n))
#define lambda_node(n) ((struct mrb_ast_lambda_node*)(n))
#define zarray_node(n) ((struct mrb_ast_zarray_node*)(n))
#define kw_hash_node(n) ((struct mrb_ast_kw_hash_node*)(n))
#define words_node(n) ((struct mrb_ast_words_node*)(n))
#define symbols_node(n) ((struct mrb_ast_symbols_node*)(n))
#define splat_node(n) ((struct mrb_ast_splat_node*)(n))
@@ -920,7 +913,6 @@ struct mrb_ast_postexe_node {
#define LAMBDA_NODE_LOCALS(n) (lambda_node(n)->locals)
#define LAMBDA_NODE_ARGS(n) (lambda_node(n)->args)
#define LAMBDA_NODE_BODY(n) (lambda_node(n)->body)
#define KW_HASH_NODE_ARGS(n) (kw_hash_node(n)->args)
#define WORDS_NODE_ARGS(n) (words_node(n)->args)
#define SYMBOLS_NODE_ARGS(n) (symbols_node(n)->args)
#define SPLAT_NODE_VALUE(n) (splat_node(n)->value)
-13
View File
@@ -7885,19 +7885,6 @@ mrb_parser_dump(mrb_state *mrb, node *tree, int offset)
}
break;
case NODE_KW_HASH:
printf("NODE_KW_HASH:\n");
while (tree) {
dump_prefix(tree, offset+1);
printf("key:\n");
mrb_parser_dump(mrb, tree->car->car, offset+2);
dump_prefix(tree, offset+1);
printf("value:\n");
mrb_parser_dump(mrb, tree->car->cdr, offset+2);
tree = tree->cdr;
}
break;
case NODE_SPLAT:
printf("NODE_SPLAT:\n");
mrb_parser_dump(mrb, tree, offset+1);
-13
View File
@@ -14714,19 +14714,6 @@ mrb_parser_dump(mrb_state *mrb, node *tree, int offset)
}
break;
case NODE_KW_HASH:
printf("NODE_KW_HASH:\n");
while (tree) {
dump_prefix(tree, offset+1);
printf("key:\n");
mrb_parser_dump(mrb, tree->car->car, offset+2);
dump_prefix(tree, offset+1);
printf("value:\n");
mrb_parser_dump(mrb, tree->car->cdr, offset+2);
tree = tree->cdr;
}
break;
case NODE_SPLAT:
printf("NODE_SPLAT:\n");
mrb_parser_dump(mrb, tree, offset+1);