mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
mruby-compiler: remove traditional NODE_POSTEXE support from codegen
remove NODE_POSTEXE from main codegen function and inline gen_postexe_var into codegen_variable_node. remove unused codegen_postexe function since NODE_POSTEXE is now only a marker like NODE_ARGS Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -3954,12 +3954,6 @@ codegen_sdef(codegen_scope *s, node *tree, int val)
|
||||
if (val) push();
|
||||
}
|
||||
|
||||
static void
|
||||
codegen_postexe(codegen_scope *s, node *tree, int val)
|
||||
{
|
||||
codegen(s, tree, NOVAL);
|
||||
}
|
||||
|
||||
static void
|
||||
codegen_block_arg(codegen_scope *s, node *tree, int val)
|
||||
{
|
||||
@@ -5812,18 +5806,6 @@ gen_undef_var(codegen_scope *s, const node *varnode, int val)
|
||||
gen_load_nil(s, val);
|
||||
}
|
||||
|
||||
static void
|
||||
gen_postexe_var(codegen_scope *s, const node *varnode, int val)
|
||||
{
|
||||
struct mrb_ast_postexe_node *postexe = postexe_node(varnode);
|
||||
|
||||
// Create stack-allocated traditional node structure
|
||||
node postexe_node_stack;
|
||||
postexe_node_stack.car = postexe->body;
|
||||
postexe_node_stack.cdr = NULL;
|
||||
|
||||
codegen_postexe(s, &postexe_node_stack, val);
|
||||
}
|
||||
|
||||
static void
|
||||
gen_sdef_var(codegen_scope *s, const node *varnode, int val)
|
||||
@@ -6161,7 +6143,10 @@ codegen_variable_node(codegen_scope *s, node *varnode, int val)
|
||||
return TRUE;
|
||||
|
||||
case NODE_POSTEXE:
|
||||
gen_postexe_var(s, varnode, val);
|
||||
{
|
||||
struct mrb_ast_postexe_node *postexe = postexe_node(varnode);
|
||||
codegen(s, postexe->body, NOVAL);
|
||||
}
|
||||
return TRUE;
|
||||
|
||||
case NODE_SDEF:
|
||||
@@ -6268,10 +6253,6 @@ codegen(codegen_scope *s, node *tree, int val)
|
||||
codegen_sdef(s, tree, val);
|
||||
break;
|
||||
|
||||
case NODE_POSTEXE:
|
||||
codegen_postexe(s, tree, val);
|
||||
break;
|
||||
|
||||
case NODE_VARIABLE:
|
||||
codegen_variable_node(s, tree, val);
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user