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 {
|
||