ripper: Fix opassign when assignment to backref variables

This commit is contained in:
Nobuyoshi Nakada 2024-05-12 15:38:22 +09:00
parent a1fb6cc978
commit 5695c5df95
No known key found for this signature in database
GPG Key ID: 3582D74E1FEE4465
2 changed files with 2 additions and 2 deletions

View File

@ -3382,7 +3382,7 @@ command_asgn : lhs '=' lex_ctxt command_rhs
rb_backref_error(p, $1); rb_backref_error(p, $1);
/*% %*/ /*% %*/
$$ = NEW_ERROR(&@$); $$ = NEW_ERROR(&@$);
/*% ripper[error]: backref_error(p, $1, assign!(var_field(p, get_value($:1)), $:4)) %*/ /*% ripper[error]: backref_error(p, $1, opassign!(var_field(p, get_value($:1)), $:2, $:4)) %*/
} }
; ;

View File

@ -289,7 +289,7 @@ class TestRipper::ParserEvents < Test::Unit::TestCase
result = result =
parse('$& += cmd 1, 2', :on_assign_error) {thru_assign_error = true} parse('$& += cmd 1, 2', :on_assign_error) {thru_assign_error = true}
assert_equal true, thru_assign_error assert_equal true, thru_assign_error
assert_equal '[assign_error(assign(var_field($&),command(cmd,[1,2])))]', result assert_equal '[assign_error(opassign(var_field($&),+=,command(cmd,[1,2])))]', result
end end
def test_assign_error_const_qualified def test_assign_error_const_qualified