summaryrefslogtreecommitdiff
path: root/parse.y
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2026-03-01 10:30:31 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2026-03-01 12:04:38 +0900
commit504cf455fb17642a5ddb206fc14d01a7a4b0566f (patch)
treeb4135ac680f81b0fffedbff64e90dc4aa769641f /parse.y
parent851a10bcb582211ac47101f0d1baf0a109e74200 (diff)
parse.y: Extract f_empty_arg
Diffstat (limited to 'parse.y')
-rw-r--r--parse.y16
1 files changed, 8 insertions, 8 deletions
diff --git a/parse.y b/parse.y
index 666f9105e2..e4ce95220c 100644
--- a/parse.y
+++ b/parse.y
@@ -2778,7 +2778,7 @@ rb_parser_ary_free(rb_parser_t *p, rb_parser_ary_t *ary)
%type <node> var_ref var_lhs
%type <node> command_rhs arg_rhs
%type <node> command_asgn mrhs mrhs_arg superclass block_call block_command
-%type <node_args> f_arglist f_opt_paren_args f_paren_args f_args
+%type <node_args> f_arglist f_opt_paren_args f_paren_args f_args f_empty_arg
%type <node_args_aux> f_arg f_arg_item
%type <node> f_marg f_rest_marg
%type <node_masgn> f_margs
@@ -6257,9 +6257,14 @@ superclass : '<'
;
f_opt_paren_args: f_paren_args
- | /* none */
+ | f_empty_arg
{
p->ctxt.in_argdef = 0;
+ }
+ ;
+
+f_empty_arg : /* none */
+ {
$$ = new_args_tail(p, 0, 0, 0, &@$);
$$ = new_args(p, 0, 0, 0, 0, $$, &@$);
/*% ripper: params!(Qnil, Qnil, Qnil, Qnil, Qnil, Qnil, Qnil) %*/
@@ -6382,12 +6387,7 @@ f_args : f_arg[pre] ',' f_opt_arg(arg_value)[opt] ',' f_rest_arg[rest] opt_args
$$ = new_args(p, 0, 0, 0, 0, $tail, &@$);
/*% ripper: params!(Qnil, Qnil, Qnil, Qnil, *$:tail[0..2]) %*/
}
- | /* none */
- {
- $$ = new_args_tail(p, 0, 0, 0, &@$);
- $$ = new_args(p, 0, 0, 0, 0, $$, &@$);
- /*% ripper: params!(Qnil, Qnil, Qnil, Qnil, Qnil, Qnil, Qnil) %*/
- }
+ | f_empty_arg
;
args_forward : tBDOT3