diff options
| author | Kevin Newton <kddnewton@gmail.com> | 2024-03-05 20:43:23 -0500 |
|---|---|---|
| committer | git <svn-admin@ruby-lang.org> | 2024-03-06 16:42:48 +0000 |
| commit | db53705acda9b733be7fdf71996143caf7c8ae7a (patch) | |
| tree | 69dc4961c97d5ea3eec293ea8f491c242d7a8626 /lib | |
| parent | 3a7beffd1bcf2262d6a6db7356ad0f249a33e4d9 (diff) | |
[ruby/prism] Implement singleton methods for ripper translation
https://github.com/ruby/prism/commit/b7cd5c8e74
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/prism/translation/ripper.rb | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/lib/prism/translation/ripper.rb b/lib/prism/translation/ripper.rb index 0c2496fe80..a08f39afba 100644 --- a/lib/prism/translation/ripper.rb +++ b/lib/prism/translation/ripper.rb @@ -1044,6 +1044,13 @@ module Prism # def self.foo; end # ^^^^^^^^^^^^^^^^^ def visit_def_node(node) + receiver = visit(node.receiver) + operator = + if !node.operator_loc.nil? + bounds(node.operator_loc) + visit_token(node.operator) + end + bounds(node.name_loc) name = visit_token(node.name_loc.slice) @@ -1070,7 +1077,12 @@ module Prism on_bodystmt(body, nil, nil, nil) end - on_def(name, parameters, bodystmt) + bounds(node.location) + if receiver.nil? + on_def(name, parameters, bodystmt) + else + on_defs(receiver, operator, name, parameters, bodystmt) + end end # defined? a |
