зеркало из https://github.com/github/ruby.git
* vm_method.c (rb_add_method_def): no redefinition warning on
undef. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25206 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
74926fefb7
Коммит
9603cd2f62
|
@ -1,3 +1,8 @@
|
|||
Sat Oct 3 21:19:18 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||
|
||||
* vm_method.c (rb_add_method_def): no redefinition warning on
|
||||
undef.
|
||||
|
||||
Sat Oct 3 18:51:11 2009 Yukihiro Matsumoto <matz@ruby-lang.org>
|
||||
|
||||
* object.c (rb_f_integer): now Integer() takes optional base
|
||||
|
|
|
@ -150,7 +150,15 @@ class TestClass < Test::Unit::TestCase
|
|||
Class.new do
|
||||
define_method(:foo) do end
|
||||
alias bar foo
|
||||
alias barf oo
|
||||
alias bar foo
|
||||
end
|
||||
end
|
||||
assert_equal("", stderr)
|
||||
|
||||
stderr = EnvUtil.verbose_warning do
|
||||
Class.new do
|
||||
def foo; end
|
||||
undef foo
|
||||
end
|
||||
end
|
||||
assert_equal("", stderr)
|
||||
|
|
|
@ -845,5 +845,13 @@ class TestModule < Test::Unit::TestCase
|
|||
end
|
||||
end
|
||||
assert_equal("", stderr, '[ruby-dev:39397]')
|
||||
|
||||
stderr = EnvUtil.verbose_warning do
|
||||
Module.new do
|
||||
def foo; end
|
||||
undef foo
|
||||
end
|
||||
end
|
||||
assert_equal("", stderr)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -185,6 +185,7 @@ rb_add_method_def(VALUE klass, ID mid, rb_method_type_t type, rb_method_definiti
|
|||
rb_vm_check_redefinition_opt_method(old_me);
|
||||
|
||||
if (RTEST(ruby_verbose) &&
|
||||
type != VM_METHOD_TYPE_UNDEF &&
|
||||
old_def->alias_count == 0 &&
|
||||
old_def->type != VM_METHOD_TYPE_UNDEF &&
|
||||
old_def->type != VM_METHOD_TYPE_ZSUPER) {
|
||||
|
|
Загрузка…
Ссылка в новой задаче