[FIR] Create separated FirBlock for loop local val

Refactor FIR builders code for ForExpression
This commit is contained in:
Ivan Kochurkin
2022-12-05 18:02:22 +01:00
committed by Space Team
parent e49bb1fe37
commit a3e7a35cb1
30 changed files with 1426 additions and 1222 deletions
@@ -1,3 +1,4 @@
// FIR_DUMP
// ISSUE: KT-54405
class A {
@@ -5,7 +6,7 @@ class A {
operator fun component2() = ""
}
fun test(b: Boolean) {
fun testRedeclaration(b: Boolean) {
val <!REDECLARATION!>y<!> = 1
val <!NAME_SHADOWING, REDECLARATION!>y<!> = 2
val <!REDECLARATION!>`_`<!> = 3
@@ -14,15 +15,16 @@ fun test(b: Boolean) {
var <!REDECLARATION!>a<!> = 10
var <!NAME_SHADOWING, REDECLARATION!>a<!> = 11
}
}
fun testNoRedeclaration(list: List<Int>, b: Boolean) {
for (el in list) {
val <!NAME_SHADOWING!>el<!> = 42
}
if (b) {
val z = 3
val <!REDECLARATION!>x<!> = 5
val <!NAME_SHADOWING, REDECLARATION!>x<!> = 6
} else {
val z = 4
}
}
fun test2() {
val (`_`, _) = A()
}