[FIR] Fix while's label, when condition has lambda

#KT-48116 Fixed
This commit is contained in:
Andrey Zinovyev
2021-08-10 16:28:40 +03:00
committed by TeamCityServer
parent 06001fc091
commit 1338675833
10 changed files with 77 additions and 4 deletions
@@ -0,0 +1,20 @@
//KT-48116
//WITH_STDLIB
fun foo() {
var tokenType: String? = null
while (true) {
FindTagEnd@ while (tokenType.let { it != null && it !== "XML_END_TAG_START" }) {
if (tokenType === "XML_COMMENT_CHARACTERS") {
// we should terminate on first occurence of </
val end = tokenType
for (i in tokenType) {
if (i == ' ') {
break@FindTagEnd
}
}
}
tokenType = "abc"
}
}
}
@@ -0,0 +1,20 @@
//KT-48116
//WITH_STDLIB
fun foo() {
var tokenType: String? = null
while (true) {
FindTagEnd@ while (tokenType.let { it != null && it !== "XML_END_TAG_START" }) {
if (tokenType === "XML_COMMENT_CHARACTERS") {
// we should terminate on first occurence of </
val end = tokenType
for (i in <!DEBUG_INFO_SMARTCAST!>tokenType<!>) {
if (i == ' ') {
break@FindTagEnd
}
}
}
tokenType = "abc"
}
}
}
@@ -0,0 +1,3 @@
package
public fun foo(): kotlin.Unit