summaryrefslogtreecommitdiff
path: root/class.c
diff options
context:
space:
mode:
authorshyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-06-28 10:18:09 +0000
committershyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-06-28 10:18:09 +0000
commita1965a0c4b01df538bba17055cd54755ea11665b (patch)
tree942838fca713349414bb4bb980f247b64c66efa2 /class.c
parent1848e25544fb704e72622427157bac6dfee3faeb (diff)
* class.c (clone_method): use rb_copy_node_scope.
fixed [ruby-list:45102] fixed [ruby-core:17393] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@17625 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'class.c')
-rw-r--r--class.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/class.c b/class.c
index 106f796140..096c7fbdf1 100644
--- a/class.c
+++ b/class.c
@@ -62,10 +62,7 @@ clone_method(mid, body, data)
NODE *fbody = body->nd_body;
if (fbody && nd_type(fbody) == NODE_SCOPE) {
- VALUE cref = data->klass ?
- (VALUE)NEW_NODE(NODE_CREF,data->klass,0,fbody->nd_rval) :
- fbody->nd_rval;
- fbody = NEW_NODE(NODE_SCOPE, fbody->nd_tbl, cref, fbody->nd_next);
+ fbody = rb_copy_node_scope(fbody, ruby_cref);
}
st_insert(data->tbl, mid, (st_data_t)NEW_METHOD(fbody, body->nd_noex));
return ST_CONTINUE;