summaryrefslogtreecommitdiffstats
path: root/eval_method.ci
diff options
context:
space:
mode:
authorko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-08-17 12:25:47 +0000
committerko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-08-17 12:25:47 +0000
commitd8e600c60c1f97f6b5f9b301c52dade25bab5dbe (patch)
tree9f8d1c255a53e591b22b132f3dbf0f30ffd9dbeb /eval_method.ci
parent0dfdf0dd9f0ed7bdebbc006dd76bb7fdd22b1207 (diff)
downloadruby-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.ci4
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);