Skip to content

Commit 1826937

Browse files
committed
Use "receiver.name" notation for a Method defined on the singleton class
1 parent 77abd77 commit 1826937

File tree

3 files changed

+8
-6
lines changed

3 files changed

+8
-6
lines changed

spec/tags/core/method/inspect_tags.txt

Lines changed: 0 additions & 1 deletion
This file was deleted.

src/main/ruby/truffleruby/core/method.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
class Method
1212
def inspect
13-
Truffle::MethodOperations.inspect_method(self, receiver.class, owner)
13+
Truffle::MethodOperations.inspect_method(self, receiver.class, owner, receiver)
1414
end
1515
alias_method :to_s, :inspect
1616

src/main/ruby/truffleruby/core/truffle/method_operations.rb

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,20 +10,23 @@
1010

1111
module Truffle
1212
module MethodOperations
13-
def self.inspect_method(meth, origin, owner)
13+
def self.inspect_method(meth, origin, owner, receiver = undefined)
1414
extra = ''
1515
if Primitive.method_unimplemented? meth
1616
extra = ' (not-implemented)'
1717
else
1818
file, line = meth.source_location
19-
2019
if file && line
2120
extra = " #{file}:#{line}"
2221
end
2322
end
2423

25-
origin_owner = origin == owner ? origin : "#{origin}(#{owner})"
26-
"#<#{meth.class}: #{origin_owner}##{meth.name}#{extra}>"
24+
if !Primitive.undefined?(receiver) && owner.singleton_class?
25+
"#<#{meth.class}: #{receiver.inspect}.#{meth.name}#{extra}>"
26+
else
27+
origin_owner = origin == owner ? origin : "#{origin}(#{owner})"
28+
"#<#{meth.class}: #{origin_owner}##{meth.name}#{extra}>"
29+
end
2730
end
2831
end
2932
end

0 commit comments

Comments
 (0)