1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

Use rb_attr_get() for hidden ivar

rb_ivar_get() can issue an uninitialized ivar warning. We never want to
issue warnings about hidden ivars as they are not actionable for users.
This commit is contained in:
Alan Wu 2020-11-12 13:19:41 -05:00
parent 1bd98ee295
commit 7826210541
Notes: git 2020-11-14 01:46:35 +09:00

View file

@ -1811,7 +1811,7 @@ singleton_class_of(VALUE obj)
klass = RBASIC(obj)->klass;
if (!(FL_TEST(klass, FL_SINGLETON) &&
rb_ivar_get(klass, id_attached) == obj)) {
rb_attr_get(klass, id_attached) == obj)) {
rb_serial_t serial = RCLASS_SERIAL(klass);
klass = rb_make_metaclass(obj, klass);
RCLASS_SERIAL(klass) = serial;
@ -1852,7 +1852,7 @@ rb_singleton_class_get(VALUE obj)
}
klass = RBASIC(obj)->klass;
if (!FL_TEST(klass, FL_SINGLETON)) return Qnil;
if (rb_ivar_get(klass, id_attached) != obj) return Qnil;
if (rb_attr_get(klass, id_attached) != obj) return Qnil;
return klass;
}