d7d7620db2
If dispatch receiver is dynamic and call on it is not dynamic that means that this call was resolved to some specific declaration because of smartcast. So we should use original type of this declaration as dispatch receiver during calculation of IdSignature instead of Any (which came from dynamic type). Otherwise we will have two different signatures for the same member declaration ^KT-57682 Fixed
14 lines
283 B
Kotlin
Vendored
14 lines
283 B
Kotlin
Vendored
// TARGET_BACKEND: JS_IR
|
|
// ISSUE: KT-57682
|
|
fun test_1(x: String) = x.length
|
|
|
|
fun test_2(x: dynamic): Int = when (x) {
|
|
is String -> x.length
|
|
else -> x.something
|
|
}
|
|
|
|
fun box(): String {
|
|
val result = test_1("a") + test_2("ab")
|
|
return if (result == 3) "OK" else "fail"
|
|
}
|