[JS IR] IC: Propagate dependencies from nested declaration to parent
JsIrLinker can't load nested declarations, therefore it is required to load their parent. This patch adds a dependency in the incremental cache graph between nested declaration user and nested declaration parent. ^KT-53931 Fixed ^KT-54120 Fixed
This commit is contained in:
committed by
Space
parent
bd085fbf43
commit
252dc01dd5
@@ -0,0 +1,5 @@
|
||||
class MyClass {
|
||||
class NestedClass {
|
||||
inline fun foo() = 0
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
class MyClass {
|
||||
class NestedClass {
|
||||
inline fun foo() = 1
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
class MyClass {
|
||||
class NestedClass {
|
||||
inline fun foo() = 1
|
||||
}
|
||||
|
||||
fun unusedFunction() = -1
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
data class MyClass(val unusedField: String) {
|
||||
class NestedClass {
|
||||
inline fun foo() = 1
|
||||
}
|
||||
|
||||
fun unusedFunction() = -1
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
data class MyClass(val unusedField: String) {
|
||||
class NestedClass {
|
||||
inline fun foo() = 1
|
||||
|
||||
val field = 5
|
||||
}
|
||||
|
||||
fun unusedFunction() = -1
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
data class MyClass(val unusedField: String) {
|
||||
class NestedClass {
|
||||
inline fun foo() = field
|
||||
|
||||
val field = 5
|
||||
}
|
||||
|
||||
fun unusedFunction() = -1
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
data class MyClass(val unusedField: String) {
|
||||
class NestedClass {
|
||||
inline fun foo() = field
|
||||
|
||||
val field = 6
|
||||
}
|
||||
|
||||
fun unusedFunction() = -1
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
STEP 0:
|
||||
modifications:
|
||||
U : l1.0.kt -> l1.kt
|
||||
added file: l1.kt
|
||||
STEP 1:
|
||||
modifications:
|
||||
U : l1.1.kt -> l1.kt
|
||||
modified ir: l1.kt
|
||||
STEP 2:
|
||||
modifications:
|
||||
U : l1.2.kt -> l1.kt
|
||||
modified ir: l1.kt
|
||||
STEP 3:
|
||||
modifications:
|
||||
U : l1.3.kt -> l1.kt
|
||||
modified ir: l1.kt
|
||||
STEP 4:
|
||||
modifications:
|
||||
U : l1.4.kt -> l1.kt
|
||||
modified ir: l1.kt
|
||||
STEP 5:
|
||||
modifications:
|
||||
U : l1.5.kt -> l1.kt
|
||||
modified ir: l1.kt
|
||||
STEP 6:
|
||||
modifications:
|
||||
U : l1.6.kt -> l1.kt
|
||||
modified ir: l1.kt
|
||||
Reference in New Issue
Block a user