From 25415302399055a566e4d55b6c165937943aa678 Mon Sep 17 00:00:00 2001 From: Yukihiro Matsumoto Date: Thu, 17 May 2012 02:44:41 +0900 Subject: add mrb_define_singleton_method/mrb_define_module_function --- src/class.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/class.c') diff --git a/src/class.c b/src/class.c index 7cb25f5c4..9bb924df0 100644 --- a/src/class.c +++ b/src/class.c @@ -578,6 +578,19 @@ mrb_define_class_method(mrb_state *mrb, struct RClass *c, const char *name, mrb_ mrb_define_method_id(mrb, c->c, mrb_intern(mrb, name), func, aspec); } +void +mrb_define_singleton_method(mrb_state *mrb, struct RObject *o, const char *name, mrb_func_t func, int aspec) +{ + mrb_define_method_id(mrb, mrb_singleton_class_ptr(mrb, o->c), mrb_intern(mrb, name), func, aspec); +} + +void +mrb_define_module_function(mrb_state *mrb, struct RClass *c, const char *name, mrb_func_t func, int aspec) +{ + mrb_define_class_method(mrb, c, name, func, aspec); + mrb_define_method(mrb, c, name, func, aspec); +} + struct RProc* mrb_method_search_vm(mrb_state *mrb, struct RClass **cp, mrb_sym mid) { -- cgit v1.2.3