зеркало из https://github.com/github/ruby.git
Remove a redundant condition
This commit is contained in:
Родитель
64007fc57f
Коммит
3628616dd1
4
class.c
4
class.c
|
@ -1349,7 +1349,7 @@ class_descendants_recursive(VALUE klass, VALUE v)
|
||||||
struct subclass_traverse_data *data = (struct subclass_traverse_data *) v;
|
struct subclass_traverse_data *data = (struct subclass_traverse_data *) v;
|
||||||
|
|
||||||
if (BUILTIN_TYPE(klass) == T_CLASS && !FL_TEST(klass, FL_SINGLETON)) {
|
if (BUILTIN_TYPE(klass) == T_CLASS && !FL_TEST(klass, FL_SINGLETON)) {
|
||||||
if (data->buffer && (data->count < data->maxcount || data->maxcount == -1)) {
|
if (data->buffer && data->count < data->maxcount) {
|
||||||
data->buffer[data->count] = klass;
|
data->buffer[data->count] = klass;
|
||||||
}
|
}
|
||||||
data->count++;
|
data->count++;
|
||||||
|
@ -1383,7 +1383,7 @@ rb_class_descendants(VALUE klass)
|
||||||
// estimate the count of subclasses
|
// estimate the count of subclasses
|
||||||
rb_class_foreach_subclass(klass, class_descendants_recursive, (VALUE) &data);
|
rb_class_foreach_subclass(klass, class_descendants_recursive, (VALUE) &data);
|
||||||
|
|
||||||
// this allocation may cause GC which may reduce the subclasses
|
// the following allocation may cause GC which may change the number of subclasses
|
||||||
data.buffer = ALLOC_N(VALUE, data.count);
|
data.buffer = ALLOC_N(VALUE, data.count);
|
||||||
data.maxcount = data.count;
|
data.maxcount = data.count;
|
||||||
data.count = 0;
|
data.count = 0;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче