summaryrefslogtreecommitdiff
path: root/vm_method.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-12-01 09:16:52 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-12-01 09:16:52 +0000
commitcf9d17a3d3cad278f4eeb7aeebc8faaa7c1b845a (patch)
tree423652dfa3151f888095c15ccffe5ef2a1479e48 /vm_method.c
parent0a8575c800599760613b290a309a99bd764d0961 (diff)
vm_method.c: make initialize methods private
* id.c (Init_id), template/id.h.tmpl: add initialize_{copy,clone,dup} and respond_to_missing?. * vm_method.c (rb_method_entry_make): make above methods private. [Feature #6539] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38113 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'vm_method.c')
-rw-r--r--vm_method.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/vm_method.c b/vm_method.c
index 6580bb6028..d5140f59d5 100644
--- a/vm_method.c
+++ b/vm_method.c
@@ -190,7 +190,9 @@ rb_method_entry_make(VALUE klass, ID mid, rb_method_type_t type,
if (!FL_TEST(klass, FL_SINGLETON) &&
type != VM_METHOD_TYPE_NOTIMPLEMENTED &&
type != VM_METHOD_TYPE_ZSUPER &&
- (mid == rb_intern("initialize") || mid == rb_intern("initialize_copy"))) {
+ (mid == idInitialize || mid == idInitialize_copy ||
+ mid == idInitialize_clone || mid == idInitialize_dup ||
+ mid == idRespond_to_missing)) {
noex = NOEX_PRIVATE | noex;
}