diff options
author | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2020-12-16 21:01:45 +0900 |
---|---|---|
committer | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2020-12-16 21:08:33 +0900 |
commit | 47328ad217ecaf240f0faedac89723dcd6a917ac (patch) | |
tree | 190a3f20f9bba05cfbcb9c30f134b3c56c4460c5 | |
parent | 359ad4423ed0f314822a3b97831fe9e4272ea347 (diff) |
Ripper: Fixed erred token on wrong alias [Bug #17345]
-rw-r--r-- | parse.y | 3 | ||||
-rw-r--r-- | test/ripper/test_parser_events.rb | 2 |
2 files changed, 3 insertions, 2 deletions
@@ -607,6 +607,7 @@ static ID ripper_get_id(VALUE); static VALUE ripper_get_value(VALUE); #define get_value(val) ripper_get_value(val) #define get_num(num) (int)get_id(num) +#define get_cval(val) RNODE(val)->nd_cval static VALUE assignable(struct parser_params*,VALUE); static int id_is_var(struct parser_params *p, ID id); @@ -1461,7 +1462,7 @@ stmt : keyword_alias fitem {SET_LEX_STATE(EXPR_FNAME|EXPR_FITEM);} fitem yyerror1(&@3, mesg); $$ = NEW_BEGIN(0, &@$); /*% %*/ - /*% ripper[error]: alias_error!(ERR_MESG(), var_alias!($2, $3)) %*/ + /*% ripper[error]: alias_error!(ERR_MESG(), get_cval($3)) %*/ } | keyword_undef undef_list { diff --git a/test/ripper/test_parser_events.rb b/test/ripper/test_parser_events.rb index 771434ff82..014403a784 100644 --- a/test/ripper/test_parser_events.rb +++ b/test/ripper/test_parser_events.rb @@ -96,7 +96,7 @@ class TestRipper::ParserEvents < Test::Unit::TestCase end def test_alias_error - assert_equal '[aliaserr(valias($a,$1))]', parse('alias $a $1') + assert_equal '[aliaserr($1)]', parse('alias $a $1') end def test_arglist |