diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/class.c | 3 | ||||
| -rw-r--r-- | src/vm.c | 3 |
2 files changed, 5 insertions, 1 deletions
diff --git a/src/class.c b/src/class.c index 8775ded3b..33a610c26 100644 --- a/src/class.c +++ b/src/class.c @@ -2282,6 +2282,8 @@ mrb_mod_to_s(mrb_state *mrb, mrb_value klass) } } +void mrb_method_added(mrb_state *mrb, struct RClass *c, mrb_sym mid); + static mrb_value mrb_mod_alias(mrb_state *mrb, mrb_value mod) { @@ -2290,6 +2292,7 @@ mrb_mod_alias(mrb_state *mrb, mrb_value mod) mrb_get_args(mrb, "nn", &new_name, &old_name); mrb_alias_method(mrb, c, new_name, old_name); + mrb_method_added(mrb, c, new_name); return mod; } @@ -2921,7 +2921,8 @@ RETRY_TRY_BLOCK: if (!check_target_class(mrb)) goto L_RAISE; target = mrb_vm_ci_target_class(mrb->c->ci); mrb_alias_method(mrb, target, syms[a], syms[b]); - NEXT; + mrb_method_added(mrb, target, syms[a]); + NEXT; } CASE(OP_UNDEF, B) { struct RClass *target; |
