aboutsummaryrefslogtreecommitdiffstats
path: root/ast.c
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2019-05-18 09:35:40 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2019-05-18 09:35:40 +0900
commitc4bad9f74e432572b80c24c7f1c519c5cc4c59a2 (patch)
tree39da14b04c3cd4fadfb8a5e36576b97afd28ea70 /ast.c
parent39336a4210557d8677a2e07094efd785af0711ca (diff)
downloadruby-c4bad9f74e432572b80c24c7f1c519c5cc4c59a2.tar.gz
Distinguish pre-condition and post-condition loops
Diffstat (limited to 'ast.c')
-rw-r--r--ast.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/ast.c b/ast.c
index 3e25c89a55..2d219092c7 100644
--- a/ast.c
+++ b/ast.c
@@ -374,7 +374,8 @@ node_children(rb_ast_t *ast, NODE *node)
goto loop;
case NODE_UNTIL:
loop:
- return rb_ary_new_from_node_args(ast, 2, node->nd_cond, node->nd_body);
+ return rb_ary_push(rb_ary_new_from_node_args(ast, 2, node->nd_cond, node->nd_body),
+ (node->nd_state ? Qtrue : Qfalse));
case NODE_ITER:
case NODE_FOR:
return rb_ary_new_from_node_args(ast, 2, node->nd_iter, node->nd_body);