summaryrefslogtreecommitdiff
path: root/iseq.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-11-01 04:17:01 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-11-01 04:17:01 +0000
commit130bb41d0a71547505e4f3e071deaf397cb28e38 (patch)
tree8afaeaa8c7d801668eec5e07956ff9d36474eab4 /iseq.c
parent25a973e84b1e9879977010b3825b59faa740ff0d (diff)
iseq.c: simplify
* iseq.c (set_relation): simplify and merge same conditions. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37397 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'iseq.c')
-rw-r--r--iseq.c16
1 files changed, 2 insertions, 14 deletions
diff --git a/iseq.c b/iseq.c
index 348836b99a..029dfa860c 100644
--- a/iseq.c
+++ b/iseq.c
@@ -213,30 +213,18 @@ set_relation(rb_iseq_t *iseq, const VALUE parent)
cref->nd_next = iseq->cref_stack;
iseq->cref_stack = cref;
}
+ iseq->local_iseq = iseq;
}
else if (type == ISEQ_TYPE_METHOD || type == ISEQ_TYPE_CLASS) {
iseq->cref_stack = NEW_CREF(0); /* place holder */
iseq->cref_stack->nd_refinements = Qnil;
- }
- else if (RTEST(parent)) {
- rb_iseq_t *piseq;
- GetISeqPtr(parent, piseq);
- iseq->cref_stack = piseq->cref_stack;
- }
-
- if (type == ISEQ_TYPE_TOP ||
- type == ISEQ_TYPE_METHOD || type == ISEQ_TYPE_CLASS) {
iseq->local_iseq = iseq;
}
else if (RTEST(parent)) {
rb_iseq_t *piseq;
GetISeqPtr(parent, piseq);
+ iseq->cref_stack = piseq->cref_stack;
iseq->local_iseq = piseq->local_iseq;
- }
-
- if (RTEST(parent)) {
- rb_iseq_t *piseq;
- GetISeqPtr(parent, piseq);
iseq->parent_iseq = piseq;
}
}