зеркало из https://github.com/github/ruby.git
Ripper: Fixed erred token on wrong alias [Bug #17345]
This commit is contained in:
Родитель
359ad4423e
Коммит
47328ad217
3
parse.y
3
parse.y
|
@ -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
|
||||
|
|
Загрузка…
Ссылка в новой задаче