Skip to content

Commit d289eb2

Browse files
presidentbeefmatzbot
authored andcommitted
[ruby/prism] RubyParser translation for stabby lambdas with it
ruby/prism@c2e372a8d8
1 parent fca2e6f commit d289eb2

File tree

3 files changed

+8
-2
lines changed

3 files changed

+8
-2
lines changed

lib/prism/translation/ruby_parser.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1151,7 +1151,7 @@ def visit_keyword_rest_parameter_node(node)
11511151
def visit_lambda_node(node)
11521152
parameters =
11531153
case node.parameters
1154-
when nil, NumberedParametersNode
1154+
when nil, ItParametersNode, NumberedParametersNode
11551155
s(node, :args)
11561156
else
11571157
visit(node.parameters)

test/prism/fixtures/it.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
x do
22
it
33
end
4+
5+
-> { it }

test/prism/ruby/parser_test.rb

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -181,9 +181,13 @@ def test_it_block_parameter_syntax
181181
actual_ast = Prism::Translation::Parser34.new.tokenize(buffer)[0]
182182

183183
it_block_parameter_sexp = parse_sexp {
184+
s(:begin,
184185
s(:itblock,
185186
s(:send, nil, :x), :it,
186-
s(:lvar, :it))
187+
s(:lvar, :it)),
188+
s(:itblock,
189+
s(:lambda), :it,
190+
s(:lvar, :it)))
187191
}
188192

189193
assert_equal(it_block_parameter_sexp, actual_ast.to_sexp)

0 commit comments

Comments
 (0)