summaryrefslogtreecommitdiff
path: root/vm_insnhelper.c
diff options
context:
space:
mode:
authorshugo <shugo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-12-09 08:48:34 +0000
committershugo <shugo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-12-09 08:48:34 +0000
commit29756c5e94c6f273c6b1a1103d9c0b12570566ea (patch)
treebf3a399a7074285a5137d279286f0a5f604467c3 /vm_insnhelper.c
parent1cf13e078593c31aec06e4749287aceab989baf6 (diff)
* vm_insnhelper.c (vm_call_opt_send): Kernel#send should not use
refinements. * proc.c (mnew): Kernel#method, Kernel#public_method, Module#instance_method, and Module#public_instance_method should not use refinements. * vm_method.c (rb_method_boundp): Kernel#respond_to? should not use refinements. * test/ruby/test_refinement.rb: related test. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38279 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'vm_insnhelper.c')
-rw-r--r--vm_insnhelper.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/vm_insnhelper.c b/vm_insnhelper.c
index 5743654953..f2c8c40e8c 100644
--- a/vm_insnhelper.c
+++ b/vm_insnhelper.c
@@ -1597,7 +1597,9 @@ vm_call_opt_send(rb_thread_t *th, rb_control_frame_t *reg_cfp, rb_call_info_t *c
if (i > 0) {
MEMMOVE(&TOPN(i), &TOPN(i-1), VALUE, i);
}
- ci->me = rb_method_entry(CLASS_OF(ci->recv), ci->mid, &ci->defined_class);
+ ci->me =
+ rb_method_entry_without_refinements(CLASS_OF(ci->recv),
+ ci->mid, &ci->defined_class);
ci->argc -= 1;
DEC_SP(1);