summaryrefslogtreecommitdiffhomepage
path: root/src/variable.c
diff options
context:
space:
mode:
authorYukihiro Matz Matsumoto <[email protected]>2013-02-15 10:20:55 +0900
committerYukihiro Matz Matsumoto <[email protected]>2013-02-15 10:20:55 +0900
commit37fe3d666f12f4dbd0e2fc1688d83ece94667f4e (patch)
tree695e54e43f56162d9dc6d49016dcfc0f78b5dd93 /src/variable.c
parent8578cd622ba6644a0421bcb35e44e0f7b2927a54 (diff)
downloadmruby-37fe3d666f12f4dbd0e2fc1688d83ece94667f4e.tar.gz
mruby-37fe3d666f12f4dbd0e2fc1688d83ece94667f4e.zip
add Module#remove_const
Diffstat (limited to 'src/variable.c')
-rw-r--r--src/variable.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/variable.c b/src/variable.c
index 6aa6e71bd..a5ff36f6f 100644
--- a/src/variable.c
+++ b/src/variable.c
@@ -889,7 +889,7 @@ mrb_const_set(mrb_state *mrb, mrb_value mod, mrb_sym sym, mrb_value v)
mrb_iv_set(mrb, mod, sym, v);
}
-void
+ void
mrb_vm_const_set(mrb_state *mrb, mrb_sym sym, mrb_value v)
{
struct RClass *c = mrb->ci->proc->target_class;
@@ -899,6 +899,13 @@ mrb_vm_const_set(mrb_state *mrb, mrb_sym sym, mrb_value v)
}
void
+mrb_const_remove(mrb_state *mrb, mrb_value mod, mrb_sym sym)
+{
+ mod_const_check(mrb, mod);
+ mrb_iv_remove(mrb, mod, sym);
+}
+
+void
mrb_define_const(mrb_state *mrb, struct RClass *mod, const char *name, mrb_value v)
{
mrb_obj_iv_set(mrb, (struct RObject*)mod, mrb_intern(mrb, name), v);