Bug #1725 ยป vm_method.c_problems.patch
| vm_method.c | ||
|---|---|---|
|
if (mid == object_id || mid == id__send__) {
|
||
|
if (node && nd_type(node) == RUBY_VM_METHOD_NODE) {
|
||
|
rb_warn("redefining `%s' may cause serious problem",
|
||
|
rb_warn("redefining `%s' may cause serious problems",
|
||
|
rb_id2name(mid));
|
||
|
}
|
||
|
}
|
||
| ... | ... | |
|
if (OBJ_FROZEN(klass))
|
||
|
rb_error_frozen("class/module");
|
||
|
if (mid == object_id || mid == id__send__ || mid == idInitialize) {
|
||
|
rb_warn("removing `%s' may cause serious problem", rb_id2name(mid));
|
||
|
rb_warn("removing `%s' may cause serious problems", rb_id2name(mid));
|
||
|
}
|
||
|
if (st_lookup(RCLASS_M_TBL(klass), mid, &data)) {
|
||
|
body = (NODE *)data;
|
||
| ... | ... | |
|
}
|
||
|
rb_frozen_class_p(klass);
|
||
|
if (id == object_id || id == id__send__ || id == idInitialize) {
|
||
|
rb_warn("undefining `%s' may cause serious problem", rb_id2name(id));
|
||
|
rb_warn("undefining `%s' may cause serious problems", rb_id2name(id));
|
||
|
}
|
||
|
body = search_method(klass, id, &origin);
|
||
|
if (!body || !body->nd_body) {
|
||