Bug #2375 ยป protected_singleton_method.diff
vm_eval.c (working copy) | ||
---|---|---|
if (self == Qundef) {
|
||
self = th->cfp->self;
|
||
}
|
||
if (!rb_obj_is_kind_of(self, rb_class_real(defined_class))) {
|
||
if (!rb_obj_is_kind_of(self, defined_class)) {
|
||
return NOEX_PROTECTED;
|
||
}
|
||
}
|
vm_insnhelper.c (working copy) | ||
---|---|---|
defined_class = RBASIC(defined_class)->klass;
|
||
}
|
||
if (!rb_obj_is_kind_of(cfp->self, rb_class_real(defined_class))) {
|
||
if (!rb_obj_is_kind_of(cfp->self, defined_class)) {
|
||
val = vm_method_missing(th, id, recv, num, blockptr, NOEX_PROTECTED);
|
||
}
|
||
else {
|