Relaxed of R-assign value to arg

This commit is contained in:
Nobuyoshi Nakada 2020-04-12 00:07:57 +09:00
Родитель 93edbb4c08
Коммит 022c7bbea9
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 7CD2805BFA3770C6
2 изменённых файлов: 3 добавлений и 6 удалений

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

@ -1506,18 +1506,16 @@ stmt : keyword_alias fitem {SET_LEX_STATE(EXPR_FNAME|EXPR_FITEM);} fitem
| expr | expr
; ;
rassign : primary tASSOC lhs rassign : arg_value tASSOC lhs
{ {
/*%%%*/ /*%%%*/
value_expr($1);
$$ = node_assign(p, $3, $1, &@$); $$ = node_assign(p, $3, $1, &@$);
/*% %*/ /*% %*/
/*% ripper: assign!($3, $1) %*/ /*% ripper: assign!($3, $1) %*/
} }
| primary tASSOC mlhs | arg_value tASSOC mlhs
{ {
/*%%%*/ /*%%%*/
value_expr($1);
$$ = node_assign(p, $3, $1, &@$); $$ = node_assign(p, $3, $1, &@$);
/*% %*/ /*% %*/
/*% ripper: massign!($3, $1) %*/ /*% ripper: massign!($3, $1) %*/
@ -1525,7 +1523,6 @@ rassign : primary tASSOC lhs
| rassign tASSOC lhs | rassign tASSOC lhs
{ {
/*%%%*/ /*%%%*/
value_expr($1);
$$ = node_assign(p, $3, $1, &@$); $$ = node_assign(p, $3, $1, &@$);
/*% %*/ /*% %*/
/*% ripper: assign!($3, $1) %*/ /*% ripper: assign!($3, $1) %*/
@ -1533,7 +1530,6 @@ rassign : primary tASSOC lhs
| rassign tASSOC mlhs | rassign tASSOC mlhs
{ {
/*%%%*/ /*%%%*/
value_expr($1);
$$ = node_assign(p, $3, $1, &@$); $$ = node_assign(p, $3, $1, &@$);
/*% %*/ /*% %*/
/*% ripper: massign!($3, $1) %*/ /*% ripper: massign!($3, $1) %*/

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

@ -1571,6 +1571,7 @@ eom
assert_equal([2,3], eval("13.divmod(5) => a,b; [a, b]")) assert_equal([2,3], eval("13.divmod(5) => a,b; [a, b]"))
assert_equal([2,3,2,3], eval("13.divmod(5) => a,b => c, d; [a, b, c, d]")) assert_equal([2,3,2,3], eval("13.divmod(5) => a,b => c, d; [a, b, c, d]"))
assert_equal([2,3], eval("13.divmod(5)\n => a,b; [a, b]")) assert_equal([2,3], eval("13.divmod(5)\n => a,b; [a, b]"))
assert_equal(3, eval("1+2 => a"))
end end
private private