diff options
| author | KOBAYASHI Shuji <[email protected]> | 2019-04-09 18:23:11 +0900 |
|---|---|---|
| committer | KOBAYASHI Shuji <[email protected]> | 2019-04-09 18:23:11 +0900 |
| commit | e3beef065c2de80a843f329599b424676d83086c (patch) | |
| tree | 0c54fbf5e4f25febbc3bcf547427ba9c238b54ce /src/class.c | |
| parent | ec1688807ef301483321919778b2ccb578822767 (diff) | |
| download | mruby-e3beef065c2de80a843f329599b424676d83086c.tar.gz mruby-e3beef065c2de80a843f329599b424676d83086c.zip | |
Extract frozen checking to function
Diffstat (limited to 'src/class.c')
| -rw-r--r-- | src/class.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/src/class.c b/src/class.c index eaef787f7..fd56fa399 100644 --- a/src/class.c +++ b/src/class.c @@ -441,12 +441,7 @@ mrb_define_method_raw(mrb_state *mrb, struct RClass *c, mrb_sym mid, mrb_method_ MRB_CLASS_ORIGIN(c); h = c->mt; - if (MRB_FROZEN_P(c)) { - if (c->tt == MRB_TT_MODULE) - mrb_raise(mrb, E_FROZEN_ERROR, "can't modify frozen module"); - else - mrb_raise(mrb, E_FROZEN_ERROR, "can't modify frozen class"); - } + mrb_check_frozen(mrb, c); if (!h) h = c->mt = kh_init(mt, mrb); k = kh_put(mt, mrb, h, mid); kh_value(h, k) = m; |
