summaryrefslogtreecommitdiffstats
path: root/tool
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
commit6016abfe06c5125443bc1cdb9ad2c5696f3d843a (patch)
treef91d86965dc5f70f2d087164cdc8d696ddbc733c /tool
parented9c5ce4f55176312054dbe6c44bf71061b0056c (diff)
downloadruby-6016abfe06c5125443bc1cdb9ad2c5696f3d843a.tar.gz
ruby-6016abfe06c5125443bc1cdb9ad2c5696f3d843a.tar.xz
ruby-6016abfe06c5125443bc1cdb9ad2c5696f3d843a.zip
* 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: http://svn.ruby-lang.org/repos/ruby/trunk@24720 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'tool')
0 files changed, 0 insertions, 0 deletions