Allow `rescue` modifier in endless method definitions.

parent c29212cf
...@@ -2319,18 +2319,39 @@ arg : lhs '=' arg_rhs ...@@ -2319,18 +2319,39 @@ arg : lhs '=' arg_rhs
| defn_head f_arglist_paren '=' arg | defn_head f_arglist_paren '=' arg
{ {
$$ = $1; $$ = $1;
void_expr_error(p, $4);
defn_setup(p, $$, $2, $4); defn_setup(p, $$, $2, $4);
nvars_unnest(p); nvars_unnest(p);
p->in_def--; p->in_def--;
} }
| defn_head f_arglist_paren '=' arg modifier_rescue arg
{
$$ = $1;
void_expr_error(p, $4);
void_expr_error(p, $6);
defn_setup(p, $$, $2, new_mod_rescue(p, $4, $6));
nvars_unnest(p);
p->in_def--;
}
| defs_head f_arglist_paren '=' arg | defs_head f_arglist_paren '=' arg
{ {
$$ = $1; $$ = $1;
void_expr_error(p, $4);
defs_setup(p, $$, $2, $4); defs_setup(p, $$, $2, $4);
nvars_unnest(p); nvars_unnest(p);
p->in_def--; p->in_def--;
p->in_single--; p->in_single--;
} }
| defs_head f_arglist_paren '=' arg modifier_rescue arg
{
$$ = $1;
void_expr_error(p, $4);
void_expr_error(p, $6);
defs_setup(p, $$, $2, new_mod_rescue(p, $4, $6));
nvars_unnest(p);
p->in_def--;
p->in_single--;
}
| primary | primary
{ {
$$ = $1; $$ = $1;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment