Bug #5015 ยป method_added_callback.diff
"b/P:\\ri\\sandbox\\rb193\\vm_method.c" | ||
---|---|---|
rb_method_entry_t *
|
||
rb_add_method(VALUE klass, ID mid, rb_method_type_t type, void *opts, rb_method_flag_t noex)
|
||
{
|
||
int callback = TRUE; /* see #5015 */
|
||
rb_thread_t *th;
|
||
rb_control_frame_t *cfp;
|
||
int line;
|
||
... | ... | |
def->body.optimize_type = (enum method_optimized_type)opts;
|
||
break;
|
||
case VM_METHOD_TYPE_ZSUPER:
|
||
break;
|
||
case VM_METHOD_TYPE_UNDEF:
|
||
callback = FALSE;
|
||
break;
|
||
default:
|
||
rb_bug("rb_add_method: unsupported method type (%d)\n", type);
|
||
}
|
||
method_added(klass, mid);
|
||
if (callback) {
|
||
method_added(klass, mid);
|
||
}
|
||
return me;
|
||
}
|
||