summaryrefslogtreecommitdiffstats
path: root/class.c
diff options
context:
space:
mode:
authoryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-08-31 07:21:54 +0000
committeryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-08-31 07:21:54 +0000
commitacf940234b07d3aa5dbf06642a3895b5776b678b (patch)
tree2147e0fab04533f9dee26324c30c45d70ea41725 /class.c
parent6016abfe06c5125443bc1cdb9ad2c5696f3d843a (diff)
downloadruby-acf940234b07d3aa5dbf06642a3895b5776b678b.tar.gz
ruby-acf940234b07d3aa5dbf06642a3895b5776b678b.tar.xz
ruby-acf940234b07d3aa5dbf06642a3895b5776b678b.zip
* class.c (make_singleton_class): variable name changed.
removed an unnecessary conditional. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@24721 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'class.c')
-rw-r--r--class.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/class.c b/class.c
index 7b537e213..865197b84 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;
}