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

ruby-changes:58940

From: Nobuyoshi <ko1@a...>
Date: Thu, 28 Nov 2019 21:32:56 +0900 (JST)
Subject: [ruby-changes:58940] 2fa3b4565a (master): Merged common statements [Bug #16242]

https://git.ruby-lang.org/ruby.git/commit/?id=2fa3b4565a

From 2fa3b4565ad904b09419dc77f4fff03aee1a8358 Mon Sep 17 00:00:00 2001
From: Nobuyoshi Nakada <nobu@r...>
Date: Thu, 28 Nov 2019 21:31:53 +0900
Subject: Merged common statements [Bug #16242]


diff --git a/class.c b/class.c
index de4bffe..736e227 100644
--- a/class.c
+++ b/class.c
@@ -825,20 +825,14 @@ VALUE https://github.com/ruby/ruby/blob/trunk/class.c#L825
 rb_include_class_new(VALUE module, VALUE super)
 {
     VALUE klass = class_alloc(T_ICLASS, rb_cClass);
-    RCLASS_SET_ORIGIN(klass, klass);
 
     RCLASS_M_TBL(OBJ_WB_UNPROTECT(klass)) =
       RCLASS_M_TBL(OBJ_WB_UNPROTECT(module)); /* TODO: unprotected? */
 
+    RCLASS_SET_ORIGIN(klass, module == RCLASS_ORIGIN(module) ? klass : RCLASS_ORIGIN(module));
     if (BUILTIN_TYPE(module) == T_ICLASS) {
-        if (module != RCLASS_ORIGIN(module)) {
-            RCLASS_SET_ORIGIN(klass, RCLASS_ORIGIN(module));
-        }
 	module = RBASIC(module)->klass;
     }
-    else if (module != RCLASS_ORIGIN(module)) {
-        RCLASS_SET_ORIGIN(klass, RCLASS_ORIGIN(module));
-    }
     if (!RCLASS_IV_TBL(module)) {
 	RCLASS_IV_TBL(module) = st_init_numtable();
     }
-- 
cgit v0.10.2


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

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