Commit 3f823a0c authored by h2so5's avatar h2so5

Add mrb_class_get_under()

parent b58cd82d
...@@ -178,6 +178,7 @@ struct RClass * mrb_class_new(mrb_state *mrb, struct RClass *super); ...@@ -178,6 +178,7 @@ struct RClass * mrb_class_new(mrb_state *mrb, struct RClass *super);
struct RClass * mrb_module_new(mrb_state *mrb); struct RClass * mrb_module_new(mrb_state *mrb);
int mrb_class_defined(mrb_state *mrb, const char *name); int mrb_class_defined(mrb_state *mrb, const char *name);
struct RClass * mrb_class_get(mrb_state *mrb, const char *name); struct RClass * mrb_class_get(mrb_state *mrb, const char *name);
struct RClass * mrb_class_get_under(mrb_state *mrb, struct RClass *outer, const char *name);
mrb_value mrb_obj_dup(mrb_state *mrb, mrb_value obj); mrb_value mrb_obj_dup(mrb_state *mrb, mrb_value obj);
mrb_value mrb_check_to_integer(mrb_state *mrb, mrb_value val, const char *method); mrb_value mrb_check_to_integer(mrb_state *mrb, mrb_value val, const char *method);
......
...@@ -227,7 +227,13 @@ class_from_sym(mrb_state *mrb, struct RClass *klass, mrb_sym id) ...@@ -227,7 +227,13 @@ class_from_sym(mrb_state *mrb, struct RClass *klass, mrb_sym id)
struct RClass * struct RClass *
mrb_class_get(mrb_state *mrb, const char *name) mrb_class_get(mrb_state *mrb, const char *name)
{ {
return class_from_sym(mrb, mrb->object_class, mrb_intern(mrb, name)); return mrb_class_get_under(mrb, mrb->object_class, name);
}
struct RClass *
mrb_class_get_under(mrb_state *mrb, struct RClass *outer, const char *name)
{
return class_from_sym(mrb, outer, mrb_intern(mrb, name));
} }
/*! /*!
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment