diff options
author | mame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-01-16 07:24:53 +0000 |
---|---|---|
committer | mame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-01-16 07:24:53 +0000 |
commit | 4b6f3bce2502e6bbe0a600aef61c8c129fa2af3e (patch) | |
tree | b5f5a66e14d6a0096fd8bf11bca56ee4db66437c /ext | |
parent | 56524df980f431116a00d0a0012700cbd8f4737f (diff) | |
download | ruby-4b6f3bce2502e6bbe0a600aef61c8c129fa2af3e.tar.gz |
node.c: Stop double meaning of NODE_FOR by introducing NODE_FOR_MASGN
NODE_FOR was used both for "for"-statement itself and for
multi-assignment of for-statement (for x, y, in...end).
This change separates the two purposes, NODE_FOR for the former, and
newly introduced NODE_FOR_MASGN for the latter.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61871 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext')
-rw-r--r-- | ext/-test-/ast/ast.c | 4 | ||||
-rw-r--r-- | ext/objspace/objspace.c | 1 |
2 files changed, 3 insertions, 2 deletions
diff --git a/ext/-test-/ast/ast.c b/ext/-test-/ast/ast.c index ead7400786..eab1cfb99a 100644 --- a/ext/-test-/ast/ast.c +++ b/ext/-test-/ast/ast.c @@ -198,10 +198,10 @@ node_children(rb_ast_t *ast, NODE *node) loop: return rb_ary_new_from_node_args(ast, 2, node->nd_cond, node->nd_body); case NODE_ITER: - goto iter; case NODE_FOR: - iter: return rb_ary_new_from_node_args(ast, 2, node->nd_iter, node->nd_body); + case NODE_FOR_MASGN: + return rb_ary_new_from_node_args(ast, 1, node->nd_var); case NODE_BREAK: goto jump; case NODE_NEXT: diff --git a/ext/objspace/objspace.c b/ext/objspace/objspace.c index e410941c7d..c791f3a7f7 100644 --- a/ext/objspace/objspace.c +++ b/ext/objspace/objspace.c @@ -382,6 +382,7 @@ count_nodes(int argc, VALUE *argv, VALUE os) COUNT_NODE(NODE_UNTIL); COUNT_NODE(NODE_ITER); COUNT_NODE(NODE_FOR); + COUNT_NODE(NODE_FOR_MASGN); COUNT_NODE(NODE_BREAK); COUNT_NODE(NODE_NEXT); COUNT_NODE(NODE_REDO); |