[JS IR] Fix a IC dependency building for class methods.
The patch fixes lost IC dependencies for inherited class or interface methods. Especially between a fake override function and its implementation. Since IrSymbolDeserializer doesn't provide all class methods, they are collected from the class definitions. ^KT-53063 Fixed
This commit is contained in:
committed by
Space
parent
edbccd0add
commit
6525f7a7ac
+10
@@ -0,0 +1,10 @@
|
||||
fun box(stepId: Int): String {
|
||||
val obj = Module1Class()
|
||||
when (stepId) {
|
||||
0, 1, 2, 3, 4, 5, 6, 7, 8 -> {
|
||||
if (obj.testFunction1() != 1) return "Fail 1"
|
||||
}
|
||||
else -> return "Unknown"
|
||||
}
|
||||
return "OK"
|
||||
}
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
fun box(stepId: Int): String {
|
||||
val obj = Module1Class()
|
||||
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"
|
||||
}
|
||||
else -> return "Unknown"
|
||||
}
|
||||
return "OK"
|
||||
}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
fun box(stepId: Int): String {
|
||||
val obj = Module1Class()
|
||||
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"
|
||||
}
|
||||
5 -> {
|
||||
if (obj.testFunction1() != 1) return "Fail 1"
|
||||
if (obj.testFunction22() != 220) return "Fail 220"
|
||||
if (obj.testField222 != 2220) return "Fail 2220"
|
||||
}
|
||||
else -> return "Unknown"
|
||||
}
|
||||
return "OK"
|
||||
}
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
suspend fun testCrossReference(): Int {
|
||||
val obj = Module1Class()
|
||||
return obj.testFunction2()
|
||||
}
|
||||
|
||||
fun box(stepId: Int): String {
|
||||
val obj = Module1Class()
|
||||
when (stepId) {
|
||||
0, 1, 2, 3, 4, 5, 6, 7, 8 -> {
|
||||
if (obj.testFunction1() != 1) return "Fail 1"
|
||||
}
|
||||
else -> return "Unknown"
|
||||
}
|
||||
return "OK"
|
||||
}
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
STEP 0:
|
||||
dependencies: lib1, lib2
|
||||
modifications:
|
||||
U : m.0.kt -> m.kt
|
||||
added file: m.kt
|
||||
STEP 1:
|
||||
dependencies: lib1, lib2
|
||||
modifications:
|
||||
U : m.1.kt -> m.kt
|
||||
modified ir: m.kt
|
||||
STEP 2..3:
|
||||
dependencies: lib1, lib2
|
||||
STEP 4:
|
||||
dependencies: lib1, lib2
|
||||
modifications:
|
||||
U : m.4.kt -> m.kt
|
||||
modified ir: m.kt
|
||||
STEP 5:
|
||||
dependencies: lib1, lib2
|
||||
STEP 6:
|
||||
dependencies: lib1, lib2
|
||||
modifications:
|
||||
U : m.0.kt -> m.kt
|
||||
modified ir: m.kt
|
||||
STEP 7:
|
||||
dependencies: lib1, lib2
|
||||
STEP 8:
|
||||
dependencies: lib1, lib2
|
||||
modifications:
|
||||
U : m.8.kt -> m.kt
|
||||
modified ir: m.kt
|
||||
Reference in New Issue
Block a user