diff --git a/lib/prism/translation/ripper.rb b/lib/prism/translation/ripper.rb index 75feafc1ffd..94156d49888 100644 --- a/lib/prism/translation/ripper.rb +++ b/lib/prism/translation/ripper.rb @@ -37,8 +37,6 @@ module Translation # * on_semicolon # * on_sp # * on_symbeg - # * on_tlambda - # * on_tlambeg # * on_tstring_beg # * on_tstring_end # @@ -2243,6 +2241,9 @@ def visit_keyword_rest_parameter_node(node) # -> {} def visit_lambda_node(node) + bounds(node.operator_loc) + on_tlambda(node.operator) + parameters = if node.parameters.is_a?(BlockParametersNode) # Ripper does not track block-locals within lambdas, so we skip @@ -2267,6 +2268,11 @@ def visit_lambda_node(node) end braces = node.opening == "{" + if braces + bounds(node.opening_loc) + on_tlambeg(node.opening) + end + body = case node.body when nil