[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:
committed by
Space Team
parent
bad5c58952
commit
81b591ed21
+3
-2
@@ -1,8 +1,9 @@
|
||||
fun box(stepId: Int): String {
|
||||
val obj = Module1Class()
|
||||
val obj = Module2Class()
|
||||
when (stepId) {
|
||||
0, 1, 2, 3, 4, 5, 6, 7, 8 -> {
|
||||
if (obj.testFunction1() != 1) return "Fail 1"
|
||||
if (obj.testFunction1() != 1) return "Fail 1 class"
|
||||
if (Module2Object.testFunction1() != 1) return "Fail 1 object"
|
||||
}
|
||||
else -> return "Unknown"
|
||||
}
|
||||
|
||||
+5
-3
@@ -1,9 +1,11 @@
|
||||
fun box(stepId: Int): String {
|
||||
val obj = Module1Class()
|
||||
val obj = Module2Class()
|
||||
when (stepId) {
|
||||
0, 1, 2, 3, 4, 5, 6, 7, 8 -> {
|
||||
if (obj.testFunction1() != 1) return "Fail 1"
|
||||
if (obj.testFunction22() != 22) return "Fail 22"
|
||||
if (obj.testFunction1() != 1) return "Fail 1 class"
|
||||
if (obj.testFunction22() != 22) return "Fail 22 class"
|
||||
if (Module2Object.testFunction1() != 1) return "Fail 1 object"
|
||||
if (Module2Object.testFunction22() != 22) return "Fail 22 object"
|
||||
}
|
||||
else -> return "Unknown"
|
||||
}
|
||||
|
||||
+15
-7
@@ -1,15 +1,23 @@
|
||||
fun box(stepId: Int): String {
|
||||
val obj = Module1Class()
|
||||
val obj = Module2Class()
|
||||
when (stepId) {
|
||||
0, 1, 2, 3, 4, 6, 7, 8 -> {
|
||||
if (obj.testFunction1() != 1) return "Fail 1"
|
||||
if (obj.testFunction22() != 22) return "Fail 22"
|
||||
if (obj.testField222 != 222) return "Fail 222"
|
||||
if (obj.testFunction1() != 1) return "Fail 1 class"
|
||||
if (obj.testFunction22() != 22) return "Fail 22 class"
|
||||
if (obj.testField222 != 222) return "Fail 222 class"
|
||||
|
||||
if (Module2Object.testFunction1() != 1) return "Fail 1 object"
|
||||
if (Module2Object.testFunction22() != 22) return "Fail 22 object"
|
||||
if (Module2Object.testField222 != 222) return "Fail 222 object"
|
||||
}
|
||||
5 -> {
|
||||
if (obj.testFunction1() != 1) return "Fail 1"
|
||||
if (obj.testFunction22() != 220) return "Fail 220"
|
||||
if (obj.testField222 != 2220) return "Fail 2220"
|
||||
if (obj.testFunction1() != 1) return "Fail 1 class"
|
||||
if (obj.testFunction22() != 220) return "Fail 220 class"
|
||||
if (obj.testField222 != 2220) return "Fail 2220 class"
|
||||
|
||||
if (Module2Object.testFunction1() != 1) return "Fail 1 object"
|
||||
if (Module2Object.testFunction22() != 220) return "Fail 220 object"
|
||||
if (Module2Object.testField222 != 2220) return "Fail 2220 object"
|
||||
}
|
||||
else -> return "Unknown"
|
||||
}
|
||||
|
||||
+9
-4
@@ -1,13 +1,18 @@
|
||||
suspend fun testCrossReference(): Int {
|
||||
val obj = Module1Class()
|
||||
suspend fun testCrossReferenceClass(): Int {
|
||||
val obj = Module2Class()
|
||||
return obj.testFunction2()
|
||||
}
|
||||
|
||||
suspend fun testCrossReferenceObject(): Int {
|
||||
return Module2Object.testFunction2()
|
||||
}
|
||||
|
||||
fun box(stepId: Int): String {
|
||||
val obj = Module1Class()
|
||||
val obj = Module2Class()
|
||||
when (stepId) {
|
||||
0, 1, 2, 3, 4, 5, 6, 7, 8 -> {
|
||||
if (obj.testFunction1() != 1) return "Fail 1"
|
||||
if (obj.testFunction1() != 1) return "Fail 1 class"
|
||||
if (Module2Object.testFunction1() != 1) return "Fail 1 object"
|
||||
}
|
||||
else -> return "Unknown"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user