diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-06-26 06:17:20 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-06-26 06:17:20 +0000 |
commit | d4ae6052404886fd0ee60ecca23af1e8f914b571 (patch) | |
tree | 0ef475543fb16eeec402e216443a9ad4db9af905 /variable.c | |
parent | 11fa3bf8c7396d7789d5b6435e9d37b888225055 (diff) | |
download | ruby-d4ae6052404886fd0ee60ecca23af1e8f914b571.tar.gz |
* variable.c (rb_mod_class_variables): class variables are no longer
inherited. [ruby-dev:23808]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6529 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'variable.c')
-rw-r--r-- | variable.c | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/variable.c b/variable.c index cb972ba81d..6d4ccd2c53 100644 --- a/variable.c +++ b/variable.c @@ -1800,8 +1800,7 @@ cv_i(key, value, ary) * call-seq: * mod.class_variables => array * - * Returns an array of the names of class variables in <i>mod</i> and - * the ancestors of <i>mod</i>. + * Returns an array of the names of class variables in <i>mod</i>. * * class One * @@var1 = 1 @@ -1810,7 +1809,7 @@ cv_i(key, value, ary) * @@var2 = 2 * end * One.class_variables #=> ["@@var1"] - * Two.class_variables #=> ["@@var2", "@@var1"] + * Two.class_variables #=> ["@@var2"] */ VALUE @@ -1819,12 +1818,8 @@ rb_mod_class_variables(obj) { VALUE ary = rb_ary_new(); - for (;;) { - if (RCLASS(obj)->iv_tbl) { - st_foreach(RCLASS(obj)->iv_tbl, cv_i, ary); - } - obj = RCLASS(obj)->super; - if (!obj) break; + if (RCLASS(obj)->iv_tbl) { + st_foreach(RCLASS(obj)->iv_tbl, cv_i, ary); } return ary; } |