Ripper: Fixed erred token on wrong alias [Bug #17345]

This commit is contained in:
Nobuyoshi Nakada 2020-12-16 21:01:45 +09:00
Родитель 359ad4423e
Коммит 47328ad217
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 7CD2805BFA3770C6
2 изменённых файлов: 3 добавлений и 2 удалений

Просмотреть файл

@ -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
{

Просмотреть файл

@ -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