aboutsummaryrefslogtreecommitdiffstats
path: root/regenc.h
diff options
context:
space:
mode:
authoryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-08-31 05:55:57 +0000
committeryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-08-31 05:55:57 +0000
commite056ac59a776f87b7043d6c3d14e321ad5cd32d5 (patch)
treef91d86965dc5f70f2d087164cdc8d696ddbc733c /regenc.h
parent7fed54570fe5e31c3b42c947c8bce4c9dd1dea38 (diff)
downloadruby-e056ac59a776f87b7043d6c3d14e321ad5cd32d5.tar.gz
* class.c: refactored singleton class related matters.
Handles eigenclasses and plain classes transparently. (make_metaclass): renamed from make_metametaclass. (METACLASS_OF): new utility macro (META_CLASS_OF_CLASS_CLASS): ditto. (ENSURE_EIGENCLASS): ditto. (make_singleton_class): extracted from rb_singleton_class. (boot_defclass): moved from object.c (Init_class_hierarchy): extracted from Init_Object. (rb_make_metaclass): refactored. (singleton_class_of): extracted from rb_singleton_class. (rb_singleton_class): refactored. (rb_define_singleton_method): it needs a metaclass only but not its metametaclass. * object.c: booting class hierarchy was moved to class.c for keeping dependency between compilation units least. (Init_Object): extracting the booting into Init_class_hierarchy. (boot_defclass): moved to class.c. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24720 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'regenc.h')
0 files changed, 0 insertions, 0 deletions