compile.c: NODE_VALUES must not be popped
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57891 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
cd7b59e4f2
commit
ae46708c10
@ -5504,14 +5504,14 @@ iseq_compile_each0(rb_iseq_t *iseq, LINK_ANCHOR *const ret, NODE *node, int popp
|
|||||||
}
|
}
|
||||||
case NODE_VALUES:{
|
case NODE_VALUES:{
|
||||||
NODE *n = node;
|
NODE *n = node;
|
||||||
|
if (popped) {
|
||||||
|
COMPILE_ERROR(ERROR_ARGS "NODE_VALUES: must not be popped");
|
||||||
|
}
|
||||||
while (n) {
|
while (n) {
|
||||||
CHECK(COMPILE(ret, "values item", n->nd_head));
|
CHECK(COMPILE(ret, "values item", n->nd_head));
|
||||||
n = n->nd_next;
|
n = n->nd_next;
|
||||||
}
|
}
|
||||||
ADD_INSN1(ret, line, newarray, INT2FIX(node->nd_alen));
|
ADD_INSN1(ret, line, newarray, INT2FIX(node->nd_alen));
|
||||||
if (popped) {
|
|
||||||
ADD_INSN(ret, line, pop);
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case NODE_HASH:{
|
case NODE_HASH:{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user