mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
Implement Module#initialize (15.2.2.4.31)
This commit is contained in:
+13
@@ -890,6 +890,18 @@ mrb_mod_included_modules(mrb_state *mrb, mrb_value self)
|
||||
return result;
|
||||
}
|
||||
|
||||
static mrb_value
|
||||
mrb_mod_initialize(mrb_state *mrb, mrb_value mod)
|
||||
{
|
||||
mrb_value b;
|
||||
|
||||
mrb_get_args(mrb, "&", &b);
|
||||
if (!mrb_nil_p(b)) {
|
||||
mrb_yield_with_class(mrb, b, 0, 0, mod, mrb_class_ptr(mod));
|
||||
}
|
||||
return mod;
|
||||
}
|
||||
|
||||
mrb_value mrb_class_instance_method_list(mrb_state*, mrb_bool, struct RClass*, int);
|
||||
|
||||
/* 15.2.2.4.33 */
|
||||
@@ -1989,6 +2001,7 @@ mrb_init_class(mrb_state *mrb)
|
||||
mrb_define_method(mrb, mod, "class_eval", mrb_mod_module_eval, MRB_ARGS_ANY()); /* 15.2.2.4.15 */
|
||||
mrb_define_method(mrb, mod, "included", mrb_bob_init, MRB_ARGS_REQ(1)); /* 15.2.2.4.29 */
|
||||
mrb_define_method(mrb, mod, "included_modules", mrb_mod_included_modules, MRB_ARGS_NONE()); /* 15.2.2.4.30 */
|
||||
mrb_define_method(mrb, mod, "initialize", mrb_mod_initialize, MRB_ARGS_NONE()); /* 15.2.2.4.31 */
|
||||
mrb_define_method(mrb, mod, "instance_methods", mrb_mod_instance_methods, MRB_ARGS_ANY()); /* 15.2.2.4.33 */
|
||||
mrb_define_method(mrb, mod, "method_defined?", mrb_mod_method_defined, MRB_ARGS_REQ(1)); /* 15.2.2.4.34 */
|
||||
mrb_define_method(mrb, mod, "module_eval", mrb_mod_module_eval, MRB_ARGS_ANY()); /* 15.2.2.4.35 */
|
||||
|
||||
Reference in New Issue
Block a user