diff options
| author | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-08-17 12:25:47 +0000 |
|---|---|---|
| committer | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-08-17 12:25:47 +0000 |
| commit | d8e600c60c1f97f6b5f9b301c52dade25bab5dbe (patch) | |
| tree | 9f8d1c255a53e591b22b132f3dbf0f30ffd9dbeb /eval_method.ci | |
| parent | 0dfdf0dd9f0ed7bdebbc006dd76bb7fdd22b1207 (diff) | |
| download | ruby-d8e600c60c1f97f6b5f9b301c52dade25bab5dbe.tar.gz ruby-d8e600c60c1f97f6b5f9b301c52dade25bab5dbe.tar.xz ruby-d8e600c60c1f97f6b5f9b301c52dade25bab5dbe.zip | |
* eval.c (rb_call), eval_method.ci (rb_add_method, rb_alias),
insnhelper.ci (vm_call_method): fix to save safelevel for
method node.
* include/ruby/node.h: ditto.
* bootstraptest/test_method.rb: add a test for above.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13079 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'eval_method.ci')
| -rw-r--r-- | eval_method.ci | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/eval_method.ci b/eval_method.ci index f91e89c03..5a3059619 100644 --- a/eval_method.ci +++ b/eval_method.ci @@ -132,7 +132,7 @@ rb_add_method(VALUE klass, ID mid, NODE * node, int noex) * nd_cnt : alias count // (3) */ if (node) { - body = NEW_FBODY(NEW_METHOD(node, klass, noex), 0); + body = NEW_FBODY(NEW_METHOD(node, klass, NOEX_WITH_SAFE(noex)), 0); } else { body = 0; @@ -580,7 +580,7 @@ rb_alias(VALUE klass, ID name, ID def) (st_data_t) NEW_FBODY( NEW_METHOD(orig_fbody->nd_body->nd_body, orig_fbody->nd_body->nd_clss, - orig_fbody->nd_body->nd_noex), def)); + NOEX_WITH_SAFE(orig_fbody->nd_body->nd_noex)), def)); rb_clear_cache_by_id(name); |
