* vm_eval.c (vm_call0_body): reorder the conditions.
  [ruby-core:78073] [Bug #12920]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56698 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2016-11-11 00:08:41 +00:00
Родитель 3e430c3a49
Коммит def18ca59d
1 изменённых файлов: 5 добавлений и 7 удалений

Просмотреть файл

@ -196,15 +196,13 @@ vm_call0_body(rb_thread_t* th, struct rb_calling_info *calling, const struct rb_
const rb_method_type_t type = cc->me->def->type;
VALUE super_class = cc->me->defined_class;
if (type == VM_METHOD_TYPE_REFINED) {
if (cc->me->def->body.refined.orig_me) {
cc->me = refined_method_callable_without_refinement(cc->me);
goto again;
}
}
else {
if (type == VM_METHOD_TYPE_ZSUPER) {
super_class = RCLASS_ORIGIN(super_class);
}
else if (cc->me->def->body.refined.orig_me) {
cc->me = refined_method_callable_without_refinement(cc->me);
goto again;
}
super_class = RCLASS_SUPER(super_class);