summaryrefslogtreecommitdiffhomepage
path: root/src/object.c
diff options
context:
space:
mode:
authorMax Anselm <[email protected]>2012-07-25 18:22:26 -0400
committerMax Anselm <[email protected]>2012-07-25 18:22:26 -0400
commitea259129993cf7eb6ffc0b8bb76719913fea314c (patch)
tree956b6d9fd49c12f31f955a0deb161bab69feb7c6 /src/object.c
parentec309c6fd7a8e177be4d1c5cd3cebfcf2088a52d (diff)
downloadmruby-ea259129993cf7eb6ffc0b8bb76719913fea314c.tar.gz
mruby-ea259129993cf7eb6ffc0b8bb76719913fea314c.zip
Undefine new for class rather than instance.
Applies to NilClass, TrueClass, FalseClass, Fixnum, and Float. Add mrb_undef_class_method for DRYness.
Diffstat (limited to 'src/object.c')
-rw-r--r--src/object.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/object.c b/src/object.c
index 29684b118..43e064fb0 100644
--- a/src/object.c
+++ b/src/object.c
@@ -275,7 +275,7 @@ mrb_init_object(mrb_state *mrb)
struct RClass *f;
n = mrb->nil_class = mrb_define_class(mrb, "NilClass", mrb->object_class);
- mrb_undef_method(mrb, n, "new");
+ mrb_undef_class_method(mrb, n, "new");
mrb_define_method(mrb, n, "&", false_and, ARGS_REQ(1)); /* 15.2.4.3.1 */
mrb_define_method(mrb, n, "^", false_xor, ARGS_REQ(1)); /* 15.2.4.3.2 */
mrb_define_method(mrb, n, "|", false_or, ARGS_REQ(1)); /* 15.2.4.3.3 */
@@ -283,14 +283,14 @@ mrb_init_object(mrb_state *mrb)
mrb_define_method(mrb, n, "to_s", nil_to_s, ARGS_NONE()); /* 15.2.4.3.5 */
t = mrb->true_class = mrb_define_class(mrb, "TrueClass", mrb->object_class);
- mrb_undef_method(mrb, n, "new");
+ mrb_undef_class_method(mrb, t, "new");
mrb_define_method(mrb, t, "&", true_and, ARGS_REQ(1)); /* 15.2.5.3.1 */
mrb_define_method(mrb, t, "^", true_xor, ARGS_REQ(1)); /* 15.2.5.3.2 */
mrb_define_method(mrb, t, "to_s", true_to_s, ARGS_NONE()); /* 15.2.5.3.3 */
mrb_define_method(mrb, t, "|", true_or, ARGS_REQ(1)); /* 15.2.5.3.4 */
f = mrb->false_class = mrb_define_class(mrb, "FalseClass", mrb->object_class);
- mrb_undef_method(mrb, n, "new");
+ mrb_undef_class_method(mrb, f, "new");
mrb_define_method(mrb, f, "&", false_and, ARGS_REQ(1)); /* 15.2.6.3.1 */
mrb_define_method(mrb, f, "^", false_xor, ARGS_REQ(1)); /* 15.2.6.3.2 */
mrb_define_method(mrb, f, "to_s", false_to_s, ARGS_NONE()); /* 15.2.6.3.3 */