diff options
| author | Felix Jones <[email protected]> | 2016-11-10 19:52:27 +0000 |
|---|---|---|
| committer | Felix Jones <[email protected]> | 2016-11-10 19:52:27 +0000 |
| commit | 178816626d7f8cf4f60ae76764fbb977c1102a14 (patch) | |
| tree | cef4a43ef288dc930d30bcd85c4bd85ad49a9106 /src | |
| parent | 3f002b6993df9ea4843e2479d706e7426d57bb5a (diff) | |
| parent | e3c8092ccdd3a9991ccd31634e28e9a5a0e29d91 (diff) | |
| download | mruby-178816626d7f8cf4f60ae76764fbb977c1102a14.tar.gz mruby-178816626d7f8cf4f60ae76764fbb977c1102a14.zip | |
Merge branch 'mrb.class_under_defined'
Diffstat (limited to 'src')
| -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) { |
