1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

vm_eval.c: rb_current_receiver

* vm_eval.c (rb_current_receiver): new function to return the
  receiver in the current control frame.  [Feature #10195]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48462 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2014-11-16 10:38:15 +00:00
parent b1acfbc121
commit de870875f7
6 changed files with 38 additions and 0 deletions

View file

@ -15,6 +15,7 @@ class TestProc::TestBMethod
class Bound < Base
define_method(:foo, Bug::Proc.make_call_super(42))
define_method(:receiver, Bug::Proc.make_call_receiver(nil))
end
def test_super_in_bmethod
@ -28,4 +29,9 @@ class TestProc::TestBMethod
obj.foo(2) {|*a| result = a}
assert_equal([2, 42], result)
end
def test_receiver_in_bmethod
obj = Bound.new
assert_same(obj, obj.receiver)
end
end