[ruby/prism] Fix block_pass for []=

https://github.com/ruby/prism/commit/bf79206220
This commit is contained in:
Kevin Newton 2024-02-16 13:44:56 -05:00 коммит произвёл git
Родитель 429338a20c
Коммит 13301587cf
2 изменённых файлов: 4 добавлений и 2 удалений

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

@ -253,12 +253,15 @@ module Prism
return visit_block(builder.index(visit(node.receiver), token(node.opening_loc), visit_all(arguments), token(node.closing_loc)), block)
when :[]=
if node.message != "[]=" && node.arguments && block.nil? && !node.safe_navigation?
arguments = node.arguments.arguments[...-1]
arguments << node.block if node.block
return visit_block(
builder.assign(
builder.index_asgn(
visit(node.receiver),
token(node.opening_loc),
visit_all(node.arguments.arguments[...-1]),
visit_all(arguments),
token(node.closing_loc),
),
srange_find(node.message_loc.end_offset, node.arguments.arguments.last.location.start_offset, ["="]),

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

@ -46,7 +46,6 @@ module Prism
# These files are either failing to parse or failing to translate, so we'll
# skip them for now.
skip_all = %w[
arrays.txt
constants.txt
dash_heredocs.txt
dos_endings.txt