summaryrefslogtreecommitdiffhomepage
path: root/src/class.c
diff options
context:
space:
mode:
authorFelix Jones <[email protected]>2016-11-06 13:01:21 +0000
committerFelix Jones <[email protected]>2016-11-06 13:01:21 +0000
commit8d6aa06548929000d98004f5bcbb57bfd1afd4e9 (patch)
tree2c66cbb1e5cea8c3a8f72f9d067ef5da8d159137 /src/class.c
parent0b8d8dd379fc5df137477019f0ae355d7a01735f (diff)
downloadmruby-8d6aa06548929000d98004f5bcbb57bfd1afd4e9.tar.gz
mruby-8d6aa06548929000d98004f5bcbb57bfd1afd4e9.zip
Added mrb_class_under_defined
Diffstat (limited to 'src/class.c')
-rw-r--r--src/class.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/class.c b/src/class.c
index 47a6c846b..ed2e5d5ba 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_under_defined(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)
{