refactoring frozen_shareable_p

This commit is contained in:
Koichi Sasada 2020-10-21 23:57:44 +09:00
Родитель 89f6644de7
Коммит 3a97d36157
1 изменённых файлов: 6 добавлений и 10 удалений

Просмотреть файл

@ -2065,18 +2065,14 @@ rb_obj_traverse(VALUE obj,
static int
frozen_shareable_p(VALUE obj)
{
switch (BUILTIN_TYPE(obj)) {
case T_DATA:
if (RTYPEDDATA_P(obj)) {
const rb_data_type_t *type = RTYPEDDATA_TYPE(obj);
if (type->flags & RUBY_TYPED_FROZEN_SHAREABLE) {
return true;
}
}
return false;
default:
if (!RB_TYPE_P(obj, T_DATA) ||
(RTYPEDDATA_P(obj) &&
RTYPEDDATA_TYPE(obj)->flags & RUBY_TYPED_FROZEN_SHAREABLE)) {
return true;
}
else {
return false;
}
}
static int