From 2fa3b4565ad904b09419dc77f4fff03aee1a8358 Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Thu, 28 Nov 2019 21:31:53 +0900 Subject: [PATCH] Merged common statements [Bug #16242] --- class.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/class.c b/class.c index de4bffe6b7..736e227925 100644 --- a/class.c +++ b/class.c @@ -825,20 +825,14 @@ VALUE 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(); }