From 8d6aa06548929000d98004f5bcbb57bfd1afd4e9 Mon Sep 17 00:00:00 2001 From: Felix Jones Date: Sun, 6 Nov 2016 13:01:21 +0000 Subject: Added mrb_class_under_defined --- include/mruby.h | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'include/mruby.h') diff --git a/include/mruby.h b/include/mruby.h index 25514ee2c..a603a316d 100644 --- a/include/mruby.h +++ b/include/mruby.h @@ -566,6 +566,37 @@ MRB_API mrb_bool mrb_class_defined(mrb_state *mrb, const char *name); */ MRB_API struct RClass * mrb_class_get(mrb_state *mrb, const char *name); +/** + * Returns an mrb_bool. True if child class was defined, and false if the child class was not defined. + * + * Example: + * void + * mrb_example_gem_init(mrb_state* mrb) { + * struct RClass *example_parent, *example_child; + * mrb_bool cd; + * + * example_parent = mrb_define_module(mrb, "ExampleParent"); + * + * example_child = mrb_define_class(mrb, "ExampleChild", mrb->object_class); + * cd = mrb_class_under_defined(mrb, example_parent, "ExampleChild"); + * + * // If mrb_class_under_defined returns 1 then puts "True" + * // If mrb_class_under_defined returns 0 then puts "False" + * if (cd == 1){ + * puts("True"); + * } + * else { + * puts("False"); + * } + * } + * + * @param [mrb_state*] mrb The current mruby state. + * @param [struct RClass *] outer The name of the parent class. + * @param [const char *] name A string representing the name of the child class. + * @return [mrb_bool] A boolean value. + */ +MRB_API mrb_bool mrb_class_under_defined(mrb_state *mrb, struct RClass *outer, const char *name); + /** * Gets a child class. * @param [mrb_state*] mrb The current mruby state. -- cgit v1.2.3