mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* class.c (rb_make_metaclass): [new]
* class.c (rb_define_class_id): use rb_make_metaclass(), don't call Class#inherited hook. * class.c (rb_class_inherited): [new] * class.c (rb_define_class): call Class#inherited hook here. * class.c (rb_define_class_under): ditto after class path is set. * class.c (rb_singleton_class): use rb_make_metaclass(). * eval.c (rb_eval): same as rb_define_class_under(). * intern.h: prototypes of rb_make_metaclass() and rb_class_inherited(). * object.c (rb_class_s_new): use rb_make_metaclass() and rb_class_inherited(). * object.c (Init_Object): use rb_make_metaclass(). * struct.c (make_struct): use rb_class_inherited(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1984 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
179027d2fb
commit
d48d6f463e
6 changed files with 59 additions and 19 deletions
1
struct.c
1
struct.c
|
@ -165,6 +165,7 @@ make_struct(name, member, klass)
|
|||
|
||||
if (NIL_P(name)) {
|
||||
nstr = rb_class_new(klass);
|
||||
rb_class_inherited(klass, nstr);
|
||||
}
|
||||
else {
|
||||
char *cname = STR2CSTR(name);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue