[JS IR IC] Interface default implementations affect IC hash

Adding or removing a method or property with
a default implementation to an interface should
invalidate all children: we must regenerate JS code for them

^KT-56237 Fixed
This commit is contained in:
Alexander Korepanov
2023-04-25 14:53:34 +02:00
committed by Space Team
parent bad5c58952
commit 81b591ed21
45 changed files with 391 additions and 70 deletions
@@ -1,3 +1,3 @@
interface Module2Interface {
interface Module1Interface {
public suspend fun testFunction2() = 2
}
@@ -1,4 +1,4 @@
interface Module2Interface {
interface Module1Interface {
public suspend fun testFunction2() = 2
public fun testFunction22() = 22
}
@@ -1,4 +1,4 @@
interface Module2Interface {
interface Module1Interface {
public fun testFunction2() = 2
public fun testFunction22() = 22
}
@@ -1,4 +1,4 @@
interface Module2Interface {
interface Module1Interface {
public fun testFunction2() = 2
public fun testFunction22() = 22
@@ -1,4 +1,4 @@
interface Module2Interface {
interface Module1Interface {
public fun testFunction2() = 20
public fun testFunction22() = 220
@@ -1,2 +1,2 @@
interface Module2Interface {
interface Module1Interface {
}
@@ -15,8 +15,8 @@ STEP 3:
modifications:
U : l1.3.kt -> l1.kt
modified ir: l1.kt
STEP 4:
updated exports: l1.kt
STEP 4:
STEP 5:
modifications:
U : l1.5.kt -> l1.kt
@@ -30,5 +30,5 @@ STEP 7:
modifications:
U : l1.0.kt -> l1.kt
modified ir: l1.kt
STEP 8:
updated exports: l1.kt
STEP 8: