summaryrefslogtreecommitdiff
path: root/parse.y
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-09-02 14:51:19 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-09-02 14:51:19 +0000
commit0c83f23272c9b76aa60208eca38fe5b780616e96 (patch)
treeb91d85c99f8824a495ee7f3f00a77851a8a7c299 /parse.y
parentc3f059226764f98cd30b8a7441b006de16edaa3a (diff)
* parse.y (f_arg): f_norm_arg is a VALUE in ripper, not an ID.
fixed: [ruby-dev:26942] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9069 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
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);
}
;