diff options
| author | Kevin Newton <kddnewton@gmail.com> | 2024-03-05 08:14:06 -0500 |
|---|---|---|
| committer | git <svn-admin@ruby-lang.org> | 2024-03-06 16:42:43 +0000 |
| commit | 17111084d4f01840db3d0c76c250ff4430be73bf (patch) | |
| tree | a33250417554bb512f20277168cd665fa9f22910 /lib | |
| parent | 524e93b84e1a08e5f8dabaad123cecd6b85cf82a (diff) | |
[ruby/prism] Implement endless methods for ripper translation
https://github.com/ruby/prism/commit/6611820b7b
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/prism/translation/ripper.rb | 29 |
1 files changed, 18 insertions, 11 deletions
diff --git a/lib/prism/translation/ripper.rb b/lib/prism/translation/ripper.rb index 5f6200cbe8..e50aec1d15 100644 --- a/lib/prism/translation/ripper.rb +++ b/lib/prism/translation/ripper.rb @@ -842,19 +842,26 @@ module Prism end bodystmt = - case node.body - when nil - bounds(node.location) - on_bodystmt(visit_statements_node_body([nil]), nil, nil, nil) - when StatementsNode - body = visit(node.body) + if node.equal_loc.nil? + case node.body + when nil + bounds(node.location) + on_bodystmt(visit_statements_node_body([nil]), nil, nil, nil) + when StatementsNode + body = visit(node.body) + + bounds(node.body.location) + on_bodystmt(body, nil, nil, nil) + when BeginNode + visit_begin_node_clauses(node.body) + else + raise + end + else + body = visit(node.body.body.first) bounds(node.body.location) on_bodystmt(body, nil, nil, nil) - when BeginNode - visit_begin_node_clauses(node.body) - else - raise end on_def(name, parameters, bodystmt) @@ -982,7 +989,7 @@ module Prism # def foo(...); bar(...); end # ^^^ def visit_forwarding_arguments_node(node) - raise NoMethodError, __method__ + end # def foo(...); end |
