JS backend: support for while/do while with complex conditions

This commit is contained in:
Michael Nedzelsky
2014-08-20 14:46:55 +04:00
parent 53f0e6dcd2
commit d969e58b88
6 changed files with 193 additions and 6 deletions
@@ -0,0 +1,32 @@
package foo
var global: String = ""
fun box(): String {
var i:Int = 0
i = 0
global = ""
do i++ while(try { global += "A"; i } finally {} < 3)
assertEquals("AAA", global)
assertEquals(3, i)
i = 0
global = ""
do {
if (i==3) break
i++
} while(try { global += "A"; i } finally {} < 10)
assertEquals("AAA", global)
assertEquals(3, i)
i = 0
global = ""
do
try { global += "B"; i++} finally {}
while( try { global += "A"; i } finally{} < 3)
assertEquals("BABABA", global)
assertEquals(3, i)
return "OK"
}