Fix codegen of do-while condition

The condition of a do-while loop can use variables declared in the loop
(variables can only be declared inside a block). Previously this behaviour
caused crash because after the block was generated, all variables declared
inside that block were gone from myFrameMap

 #KT-3280 Fixed
This commit is contained in:
Alexander Udalov
2013-02-04 14:44:25 +04:00
parent 2a4f06e32d
commit 4ca522bf0e
5 changed files with 91 additions and 10 deletions
@@ -0,0 +1,15 @@
fun box(): String {
var x = 0
do x++ while (x < 5)
if (x != 5) return "Fail 1 $x"
var y = 0
do { y++ } while (y < 5)
if (y != 5) return "Fail 2 $y"
var z = ""
do { z += z.length } while (z.length < 5)
if (z != "01234") return "Fail 3 $z"
return "OK"
}