diff options
| author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-11-04 20:36:20 +0000 |
|---|---|---|
| committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-11-04 20:36:20 +0000 |
| commit | a58115c9ce623e25c3b841feb3f5b9faf1f39df5 (patch) | |
| tree | 32ac34a556e40ef93a8e4a15f328d36886b4fc45 /eval_method.ci | |
| parent | 810138832fa81c4ed5dc88b67bd779a5cbb6b089 (diff) | |
| download | ruby-a58115c9ce623e25c3b841feb3f5b9faf1f39df5.tar.gz ruby-a58115c9ce623e25c3b841feb3f5b9faf1f39df5.tar.xz ruby-a58115c9ce623e25c3b841feb3f5b9faf1f39df5.zip | |
* eval.c (rb_f_send): allow send/__send__ to call methods of all
visibility again. we no longer provide __send, __send!.
* eval.c (rb_invoke_method): new method to honor private
visibility. if it's invoked in a function call style, it calls
private methods as well (previous 1.9 send behavior).
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13824 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'eval_method.ci')
| -rw-r--r-- | eval_method.ci | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/eval_method.ci b/eval_method.ci index 6d86e52c5..ff4d3cb0a 100644 --- a/eval_method.ci +++ b/eval_method.ci @@ -158,7 +158,7 @@ rb_add_method(VALUE klass, ID mid, NODE * node, int noex) } } - if (mid == object_id || mid == __send || mid == __send_bang) { + if (mid == object_id || mid == __send__) { if (node && nd_type(node) == RUBY_VM_METHOD_NODE) { rb_warn("redefining `%s' may cause serious problem", rb_id2name(mid)); @@ -302,7 +302,7 @@ remove_method(VALUE klass, ID mid) } if (OBJ_FROZEN(klass)) rb_error_frozen("class/module"); - if (mid == object_id || mid == __send || mid == __send_bang || mid == init) { + if (mid == object_id || mid == __send__ || mid == init) { rb_warn("removing `%s' may cause serious problem", rb_id2name(mid)); } if (st_lookup(RCLASS_M_TBL(klass), mid, &data)) { @@ -466,7 +466,7 @@ rb_undef(VALUE klass, ID id) rb_id2name(id)); } rb_frozen_class_p(klass); - if (id == object_id || id == __send || id == __send_bang || id == init) { + if (id == object_id || id == __send__ || id == init) { rb_warn("undefining `%s' may cause serious problem", rb_id2name(id)); } body = search_method(klass, id, &origin); |
