aboutsummaryrefslogtreecommitdiffstats
path: root/parse.y
diff options
context:
space:
mode:
Diffstat (limited to 'parse.y')
-rw-r--r--parse.y18
1 files changed, 14 insertions, 4 deletions
diff --git a/parse.y b/parse.y
index 33adddadac..b04cd40c20 100644
--- a/parse.y
+++ b/parse.y
@@ -4095,15 +4095,25 @@ f_norm_arg : tCONSTANT
f_arg : f_norm_arg
{
- $$ = rb_ary_new3(1, ID2SYM($1));
+ /*%%%*/
+ VALUE arg = ID2SYM($1);
+ /*%
+ VALUE arg = $1;
+ %*/
+ $$ = rb_ary_new3(1, arg);
}
| f_arg ',' f_norm_arg
{
+ /*%%%*/
+ VALUE arg = ID2SYM($3);
+ /*%
+ VALUE arg = $3;
+ %*/
$$ = $1;
- if (rb_ary_includes($$, ID2SYM($3))) {
- yyerror("duplicated argument name");
+ if (rb_ary_includes($$, arg)) {
+ yyerror("duplicated argument arg");
}
- rb_ary_push($$, ID2SYM($3));
+ rb_ary_push($$, arg);
}
;