summaryrefslogtreecommitdiffhomepage
path: root/src/class.c
diff options
context:
space:
mode:
authorDaniel Bovensiepen <[email protected]>2012-05-16 11:34:00 -0700
committerDaniel Bovensiepen <[email protected]>2012-05-16 11:34:00 -0700
commit0cc8dcc0ee658eca9193a5611104f6d05cb958fd (patch)
tree0c123371d208a692f80197c1b0babb631302442a /src/class.c
parent3bec8b330c58a7ac9a73ed3689b1bd9cde389c16 (diff)
parent25415302399055a566e4d55b6c165937943aa678 (diff)
downloadmruby-0cc8dcc0ee658eca9193a5611104f6d05cb958fd.tar.gz
mruby-0cc8dcc0ee658eca9193a5611104f6d05cb958fd.zip
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'src/class.c')
-rw-r--r--src/class.c13
1 files changed, 13 insertions, 0 deletions
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)
{