Defer is now lowered in its own pass as a first step towards refactoring other things into their own passes as well

This commit is contained in:
Nathan Braswell
2016-06-15 01:36:59 -07:00
parent acb0e48324
commit d44293a48b
9 changed files with 193 additions and 56 deletions

View File

@@ -1,14 +1,21 @@
import io:*
fun main():int {
for (var i = 1; i < 10; i++;) {
{
defer println("happens every time, even when breaking or continueing")
if (i % 2 == 0)
continue
if (i == 9)
break
println(i)
{
defer println("block outside for")
for (var i = 1; i < 10; i++;) {
{
defer println("happens every time, even when breaking or continueing")
if (i % 2 == 0)
continue
if (i == 9)
break
if (i == 7) {
defer println("only happens once before breaking 7")
continue
}
println(i)
}
}
}
{