Add break builtin for foreach

This commit is contained in:
Nicolas Williams committed 2014-07-07 19:33:17 -05:00
1 parent 6458910ba3
commit 539dccae90
4 files changed
+7 -4

No files matched your search

+4 -1
View File
@@ -406,7 +406,10 @@ block gen_foreach(const char* varname, block source, block init, block update, b
// it, so we backtrack.
gen_op_simple(BACKTRACK));
inst_set_target(output, foreach);
return foreach;
block handler = gen_cond(gen_call("_equal", BLOCK(gen_lambda(gen_const(jv_string("break"))), gen_lambda(gen_noop()))),
gen_op_simple(BACKTRACK),
gen_call("break", gen_noop()));
return gen_try(foreach, handler);
}
block gen_definedor(block a, block b) {