[JS IR] Take default params into account for calculating an IC hash
^KT-54895 Fixed
This commit is contained in:
committed by
Space Team
parent
f7063555ca
commit
f4b5f5ff5d
+3
@@ -0,0 +1,3 @@
|
||||
interface InterfaceA {
|
||||
fun functionA(x: Int, s: String, b: Boolean? = null): Int
|
||||
}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
interface InterfaceA {
|
||||
fun functionA(x: Int, s: String, b: Boolean?): Int
|
||||
}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
interface InterfaceA {
|
||||
fun functionA(x: Int, s: String, b: Boolean? = true): Int
|
||||
}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
interface InterfaceA {
|
||||
fun functionA(x: Int, s: String, b: Boolean? = true, i: Int = 1): Int
|
||||
}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
interface InterfaceA {
|
||||
fun functionA(x: Int, s: String = "xy", b: Boolean? = true, i: Int): Int
|
||||
}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
interface InterfaceA {
|
||||
fun functionA(x: Int, s: String = "xyz!", b: Boolean? = false, i: Int): Int
|
||||
}
|
||||
Vendored
+27
@@ -0,0 +1,27 @@
|
||||
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:
|
||||
STEP 4:
|
||||
modifications:
|
||||
U : l1.4.kt -> l1.kt
|
||||
modified ir: l1.kt
|
||||
STEP 5:
|
||||
STEP 6:
|
||||
modifications:
|
||||
U : l1.6.kt -> l1.kt
|
||||
modified ir: l1.kt
|
||||
STEP 7:
|
||||
STEP 8:
|
||||
modifications:
|
||||
U : l1.8.kt -> l1.kt
|
||||
modified ir: l1.kt
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
class ClassA : InterfaceA {
|
||||
override fun functionA(x: Int, s: String, b: Boolean?): Int {
|
||||
return x + s.length + if (b == true) 1 else 0
|
||||
}
|
||||
}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
class ClassA : InterfaceA {
|
||||
override fun functionA(x: Int, s: String, b: Boolean?, i: Int): Int {
|
||||
return i - 1 + x + s.length + if (b == true) 1 else 0
|
||||
}
|
||||
}
|
||||
Vendored
+7
@@ -0,0 +1,7 @@
|
||||
private fun test(setepId: Int, i: InterfaceA): Int {
|
||||
return i.functionA(setepId, "", false)
|
||||
}
|
||||
|
||||
fun testDefaltParam(setepId: Int): Int {
|
||||
return test(setepId, ClassA())
|
||||
}
|
||||
Vendored
+7
@@ -0,0 +1,7 @@
|
||||
private fun test(setepId: Int, i: InterfaceA): Int {
|
||||
return i.functionA(setepId - 1, "")
|
||||
}
|
||||
|
||||
fun testDefaltParam(setepId: Int): Int {
|
||||
return test(setepId, ClassA())
|
||||
}
|
||||
Vendored
+12
@@ -0,0 +1,12 @@
|
||||
private fun test(setepId: Int, i: InterfaceA): Int {
|
||||
return i.functionA(
|
||||
x = setepId - 2,
|
||||
s = "s",
|
||||
b = false,
|
||||
i = 2
|
||||
)
|
||||
}
|
||||
|
||||
fun testDefaltParam(setepId: Int): Int {
|
||||
return test(setepId, ClassA())
|
||||
}
|
||||
Vendored
+10
@@ -0,0 +1,10 @@
|
||||
private fun test(setepId: Int, i: InterfaceA): Int {
|
||||
return i.functionA(
|
||||
x = 3,
|
||||
i = 2
|
||||
)
|
||||
}
|
||||
|
||||
fun testDefaltParam(setepId: Int): Int {
|
||||
return test(setepId, ClassA())
|
||||
}
|
||||
Vendored
+34
@@ -0,0 +1,34 @@
|
||||
STEP 0:
|
||||
dependencies: lib1
|
||||
modifications:
|
||||
U : l2.0.kt -> l2.kt
|
||||
U : l2test.0.kt -> l2test.kt
|
||||
added file: l2.kt, l2test.kt
|
||||
STEP 1..2:
|
||||
dependencies: lib1
|
||||
updated imports: l2test.kt, l2.kt
|
||||
STEP 3:
|
||||
dependencies: lib1
|
||||
modifications:
|
||||
U : l2test.3.kt -> l2test.kt
|
||||
modified ir: l2test.kt
|
||||
STEP 4:
|
||||
dependencies: lib1
|
||||
modifications:
|
||||
U : l2.4.kt -> l2.kt
|
||||
modified ir: l2.kt, l2test.kt
|
||||
STEP 5:
|
||||
dependencies: lib1
|
||||
modifications:
|
||||
U : l2test.5.kt -> l2test.kt
|
||||
modified ir: l2test.kt
|
||||
STEP 6:
|
||||
dependencies: lib1
|
||||
updated imports: l2.kt, l2test.kt
|
||||
STEP 7:
|
||||
dependencies: lib1
|
||||
modifications:
|
||||
U : l2test.7.kt -> l2test.kt
|
||||
modified ir: l2test.kt
|
||||
STEP 8:
|
||||
dependencies: lib1
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
fun box(stepId: Int): String {
|
||||
val x = testDefaltParam(stepId)
|
||||
if (x != stepId) {
|
||||
return "Fail, got $x, expected $stepId"
|
||||
}
|
||||
return "OK"
|
||||
}
|
||||
Vendored
+5
@@ -0,0 +1,5 @@
|
||||
STEP 0:
|
||||
dependencies: lib1, lib2
|
||||
added file: m.kt
|
||||
STEP 1..8:
|
||||
dependencies: lib1, lib2
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
MODULES: lib1, lib2, main
|
||||
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2, main
|
||||
STEP 1..2:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2
|
||||
STEP 3:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib2
|
||||
STEP 4:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2
|
||||
STEP 5:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib2
|
||||
STEP 6:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2
|
||||
STEP 7:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib2
|
||||
STEP 8:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1
|
||||
Reference in New Issue
Block a user