From ad717fa7e657703205c44df1b00f7d7d4a60d8ca Mon Sep 17 00:00:00 2001 From: naruse Date: Wed, 21 Jul 2010 05:00:53 +0000 Subject: * vm_method.c (rb_method_boundp): revert r28543, r28564. They may be merged in Ruby 2.0. [ruby-core:31217] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28700 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- vm_method.c | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) (limited to 'vm_method.c') diff --git a/vm_method.c b/vm_method.c index aa5db73643..50f0b12e5a 100644 --- a/vm_method.c +++ b/vm_method.c @@ -565,19 +565,18 @@ rb_method_boundp(VALUE klass, ID id, int ex) { rb_method_entry_t *me = rb_method_entry(klass, id); - if (!me) return 0; - if (ex & ~NOEX_RESPONDS) { /* pub */ - if (me->flag & NOEX_PRIVATE) return 0; - if (ex & NOEX_RESPONDS) { - if (me->flag & NOEX_PROTECTED) return 0; + if (me != 0) { + if ((ex & ~NOEX_RESPONDS) && (me->flag & NOEX_PRIVATE)) { + return FALSE; } + if (!me->def) return 0; + if (me->def->type == VM_METHOD_TYPE_NOTIMPLEMENTED) { + if (ex & NOEX_RESPONDS) return 2; + return 0; + } + return 1; } - if (!me->def) return 0; - if (me->def->type == VM_METHOD_TYPE_NOTIMPLEMENTED) { - if (ex & NOEX_RESPONDS) return 2; - return 0; - } - return 1; + return 0; } void -- cgit v1.2.3