diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | eval_method.h | 6 |
2 files changed, 7 insertions, 3 deletions
@@ -1,3 +1,7 @@ +Fri Jan 5 13:59:53 2007 Koichi Sasada <ko1@atdot.net> + + * eval_method.h (rb_add_method) : fix to check old_node + Fri Jan 5 12:03:07 2007 Koichi Sasada <ko1@atdot.net> * compile.c (iseq_compile_each, set_block_local_tbl) : diff --git a/eval_method.h b/eval_method.h index 59e7cef8dc..7f2c99d1ff 100644 --- a/eval_method.h +++ b/eval_method.h @@ -146,13 +146,13 @@ rb_add_method(VALUE klass, ID mid, NODE * node, int noex) if (nd_type(old_node->nd_body->nd_body) == NODE_CFUNC) { yarv_check_redefinition_opt_method(old_node); } + if (RTEST(ruby_verbose) && old_node->nd_cnt == 0 && old_node->nd_body) { + rb_warning("method redefined; discarding old %s", rb_id2name(mid)); + } } if (klass == rb_cObject && node->nd_mid == init) { rb_warn("redefining Object#initialize may cause infinite loop"); } - if (RTEST(ruby_verbose) && old_node->nd_cnt == 0 && old_node->nd_body) { - rb_warning("method redefined; discarding old %s", rb_id2name(mid)); - } } if (mid == object_id || mid == __send || mid == __send_bang) { |