diff options
-rw-r--r-- | test/prism/locals_test.rb | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/test/prism/locals_test.rb b/test/prism/locals_test.rb index 2c0036289c..e0e9a45855 100644 --- a/test/prism/locals_test.rb +++ b/test/prism/locals_test.rb @@ -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.unshift(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 |