summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--class.c11
2 files changed, 8 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index f0e0635938..ba029647dc 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Mon Aug 31 16:20:41 2009 Yuki Sonoda (Yugui) <yugui@yugui.jp>
+
+ * class.c (make_singleton_class): variable name changed.
+ removed an unnecessary conditional.
+
Mon Aug 31 14:17:09 2009 Yuki Sonoda (Yugui) <yugui@yugui.jp>
* class.c: refactored singleton class related matters.
diff --git a/class.c b/class.c
index 7b537e213a..865197b843 100644
--- a/class.c
+++ b/class.c
@@ -298,19 +298,14 @@ make_metaclass(VALUE klass)
static inline VALUE
make_singleton_class(VALUE obj)
{
- VALUE metasuper;
- VALUE super = RBASIC(obj)->klass;
- VALUE klass = rb_class_boot(super);
+ VALUE orig_class = RBASIC(obj)->klass;
+ VALUE klass = rb_class_boot(orig_class);
FL_SET(klass, FL_SINGLETON);
RBASIC(obj)->klass = klass;
rb_singleton_class_attached(klass, obj);
- metasuper = RBASIC(rb_class_real(super))->klass;
- /* metaclass of a superclass may be NULL at boot time */
- if (metasuper) {
- RBASIC(klass)->klass = metasuper;
- }
+ METACLASS_OF(klass) = METACLASS_OF(rb_class_real(orig_class));
return klass;
}