diff options
author | Leo Tenenbaum <pommicket@gmail.com> | 2020-03-18 18:12:13 -0400 |
---|---|---|
committer | Leo Tenenbaum <pommicket@gmail.com> | 2020-03-18 18:12:13 -0400 |
commit | 3755ea8479b54cd823a6151e230e6cda8894d69a (patch) | |
tree | cd88d7d6b3bf55aabb54b6aabe49e79e70da4f4b /tests/defer.toc | |
parent | 729531697131582f4bc992be886e7a4c6030fbc7 (diff) |
defer seems to be fully working
Diffstat (limited to 'tests/defer.toc')
-rw-r--r-- | tests/defer.toc | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/tests/defer.toc b/tests/defer.toc new file mode 100644 index 0000000..77a4c4e --- /dev/null +++ b/tests/defer.toc @@ -0,0 +1,36 @@ +#include "io.toc", io; + +main ::= fn() { + defer io.puts("deferred from main()"); + for i := 1..10 { + defer io.puts("deferred from for"); + io.puti(i); + if i == 2 { + defer io.puts("deferred from if1"); + defer io.puts("deferred from if2"); + defer io.puts("deferred from if3"); + defer io.puts("deferred from if4"); + defer io.puts("deferred from if5"); + defer io.puts("deferred from if6"); + defer io.puts("deferred from if7"); + defer io.puts("deferred from if8"); + continue; + } + if i == 8 { + break; + } + } + i := 0; + while { + defer io.puts("deferred from while"); + i += 1; + io.puti(i); + if i % 2 == 0 { continue; } + if i == 7 { + defer io.puts("deferred from if"); + break; + } + + } + io.puts("end of main()"); +} |