summaryrefslogtreecommitdiffhomepage
path: root/src/class.c
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2016-11-11 08:24:52 +0900
committerGitHub <[email protected]>2016-11-11 08:24:52 +0900
commit570cbbdf3d5197f77a19d2093964ce27c939e85e (patch)
treecef4a43ef288dc930d30bcd85c4bd85ad49a9106 /src/class.c
parent3f002b6993df9ea4843e2479d706e7426d57bb5a (diff)
parent178816626d7f8cf4f60ae76764fbb977c1102a14 (diff)
downloadmruby-570cbbdf3d5197f77a19d2093964ce27c939e85e.tar.gz
mruby-570cbbdf3d5197f77a19d2093964ce27c939e85e.zip
Merge pull request #3234 from AltimitSystems/mrb.class_under_defined
Add mrb_class_defined_under
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..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)
{