* 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:
parent
e056ac59a7
commit
9b062c9685
@ -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
11
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;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user