[FIR] CFG: drop redundant edges

Edges from class to its functions and nested classes are redundant
and lead to extra resolution work in lazy resolve mode

^KT-59600 Fixed
This commit is contained in:
Dmitrii Gridin
2023-06-23 18:05:09 +02:00
committed by Space Team
parent df28bd1d79
commit 09ca335b7e
53 changed files with 931 additions and 763 deletions
@@ -10,6 +10,7 @@ FILE: fromLocalMembers.kt
public final fun test2(): R|kotlin/Unit| {
lval x: R|kotlin/Int|
lval y: R|kotlin/Int|
lval z: R|kotlin/Int|
object : R|kotlin/Any| {
private constructor(): R|<anonymous>| {
super<R|kotlin/Any|>()
@@ -23,6 +24,12 @@ FILE: fromLocalMembers.kt
R|<local>/y| = Int(0)
}
public final val prop: R|kotlin/Int|
public get(): R|kotlin/Int| {
R|<local>/z| = Int(0)
^ Int(2)
}
}
R|kotlin/io/println|(R|<local>/x|)
@@ -12,6 +12,7 @@ fun test1() {
fun test2() {
val x: Int
val y: Int
val z: Int
object {
init {
@@ -21,6 +22,12 @@ fun test2() {
fun localFunc() {
<!CAPTURED_VAL_INITIALIZATION!>y<!> = 0
}
val prop: Int
get() {
<!CAPTURED_VAL_INITIALIZATION!>z<!> = 0
return 2
}
}
println(x)