freeze instance variables; ref #3340

This commit is contained in:
Yukihiro "Matz" Matsumoto
2016-12-12 01:00:24 +09:00
parent 92c843dd07
commit 761562b65f
+3
View File
@@ -489,6 +489,9 @@ mrb_obj_iv_set(mrb_state *mrb, struct RObject *obj, mrb_sym sym, mrb_value v)
{
iv_tbl *t = obj->iv;
if (MRB_FROZEN_P(obj)) {
mrb_raisef(mrb, E_RUNTIME_ERROR, "can't modify frozen %S", mrb_obj_value(obj));
}
if (!t) {
t = obj->iv = iv_new(mrb);
}