* class.c (make_singleton_class): variable name changed.

removed an unnecessary conditional.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24721 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
yugui 2009-08-31 07:21:54 +00:00
parent e056ac59a7
commit 9b062c9685
2 changed files with 8 additions and 8 deletions

View File

@ -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.

11
class.c
View File

@ -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;
}