summaryrefslogtreecommitdiff
path: root/vm_eval.c
diff options
context:
space:
mode:
Diffstat (limited to 'vm_eval.c')
-rw-r--r--vm_eval.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/vm_eval.c b/vm_eval.c
index 95b1e8e9fa..947982fce4 100644
--- a/vm_eval.c
+++ b/vm_eval.c
@@ -217,6 +217,12 @@ vm_call0_body(rb_thread_t* th, rb_call_info_t *ci, const VALUE *argv)
if (!ci->me->def) return Qnil;
goto again;
}
+ case VM_METHOD_TYPE_ALIAS:
+ {
+ ci->me = ci->me->def->body.alias.original_me;
+ ci->defined_class = find_defiend_class_by_owner(ci->defined_class, ci->me->klass);
+ goto again;
+ }
case VM_METHOD_TYPE_MISSING:
{
VALUE new_args = rb_ary_new4(ci->argc, argv);