[ruby/prism] Fix parse.y translation for locals test

c8037dfaed
This commit is contained in:
Kevin Newton 2025-01-14 11:01:39 -05:00 committed by git
parent 23fc0fc22d
commit 12fa76b3e5

View file

@ -140,14 +140,17 @@ module Prism
case node
when BlockNode, DefNode, LambdaNode
names = node.locals
params =
if node.is_a?(DefNode)
node.parameters
elsif node.parameters.is_a?(NumberedParametersNode)
nil
else
node.parameters&.parameters
end
params = nil
if node.is_a?(DefNode)
params = node.parameters
elsif node.parameters.is_a?(NumberedParametersNode)
# nothing
elsif node.parameters.is_a?(ItParametersNode)
names << AnonymousLocal
else
params = node.parameters&.parameters
end
# prism places parameters in the same order that they appear in the
# source. CRuby places them in the order that they need to appear