diff options
Diffstat (limited to 'src/class.c')
| -rw-r--r-- | src/class.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/class.c b/src/class.c index 47a6c846b..b81859ab8 100644 --- a/src/class.c +++ b/src/class.c @@ -271,6 +271,16 @@ mrb_class_defined(mrb_state *mrb, const char *name) return mrb_const_defined(mrb, mrb_obj_value(mrb->object_class), mrb_symbol(sym)); } +MRB_API mrb_bool +mrb_class_defined_under(mrb_state *mrb, struct RClass *outer, const char *name) +{ + mrb_value sym = mrb_check_intern_cstr(mrb, name); + if (mrb_nil_p(sym)) { + return FALSE; + } + return mrb_const_defined_at(mrb, mrb_obj_value(outer), mrb_symbol(sym)); +} + MRB_API struct RClass * mrb_class_get_under(mrb_state *mrb, struct RClass *outer, const char *name) { |
