summaryrefslogtreecommitdiff
path: root/object.c
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>1998-06-16 04:24:38 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>1998-06-16 04:24:38 +0000
commit16487ee284f17cfbf6fad9f6b2fedc57f0f37e0a (patch)
tree0c0aab325ab782ff559d1cfa5df269e786219ee3 /object.c
parent83687c4eb47e2bcbe463d097317d068d1dd0b734 (diff)
baseline
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/v1_1r@243 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'object.c')
-rw-r--r--object.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/object.c b/object.c
index 027ddd658e..fc3960dffc 100644
--- a/object.c
+++ b/object.c
@@ -529,10 +529,11 @@ mod_cmp(mod, arg)
}
VALUE
-module_s_new()
+module_s_new(klass)
{
VALUE mod = module_new();
+ RBASIC(mod)->klass = klass;
obj_call_init(mod);
return mod;
}
@@ -561,6 +562,12 @@ class_s_new(argc, argv)
return klass;
}
+static VALUE
+class_s_inherited()
+{
+ TypeError("can't make subclass of Class");
+}
+
VALUE mod_name();
VALUE mod_included_modules();
VALUE mod_ancestors();
@@ -1039,6 +1046,7 @@ Init_Object()
rb_define_singleton_method(cClass, "new", class_s_new, -1);
rb_undef_method(cClass, "extend_object");
rb_undef_method(cClass, "append_features");
+ rb_define_singleton_method(cClass, "inherited", class_s_inherited, 1);
cData = rb_define_class("Data", cObject);
rb_undef_method(CLASS_OF(cData), "new");