[前][次][番号順一覧][スレッド一覧]

ruby-changes:44625

From: nobu <ko1@a...>
Date: Fri, 11 Nov 2016 09:08:47 +0900 (JST)
Subject: [ruby-changes:44625] nobu:r56698 (trunk): vm_eval.c: reorder

nobu	2016-11-11 09:08:41 +0900 (Fri, 11 Nov 2016)

  New Revision: 56698

  https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=56698

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

  Modified files:
    trunk/vm_eval.c
Index: vm_eval.c
===================================================================
--- vm_eval.c	(revision 56697)
+++ vm_eval.c	(revision 56698)
@@ -196,15 +196,13 @@ vm_call0_body(rb_thread_t* th, struct rb https://github.com/ruby/ruby/blob/trunk/vm_eval.c#L196
 	    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);
 

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]