JVM_IR: generate more correct names for regenerated objects
and fake lambda types, too. (But those only matter for debugging.) Also, share object name generators between methods with the same name to avoid rewriting objects from one with objects from the other.
This commit is contained in:
-2
@@ -1,5 +1,3 @@
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
// IGNORE_BACKEND_MULTI_MODULE: JVM_IR
|
||||
// FILE: 1.kt
|
||||
|
||||
package test
|
||||
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
// FILE: 1.kt
|
||||
package test
|
||||
|
||||
inline fun <R> call(crossinline f: () -> R) : R {
|
||||
return { f() }()
|
||||
}
|
||||
|
||||
// FILE: 2.kt
|
||||
//NO_CHECK_LAMBDA_INLINING
|
||||
import test.*
|
||||
|
||||
inline fun sameName(s: Long): String = call { "FAIL" }
|
||||
inline fun sameName(s: Int): String = call { "OK" }
|
||||
|
||||
fun box(): String {
|
||||
val result = sameName(1)
|
||||
sameName(1L)
|
||||
return result
|
||||
}
|
||||
@@ -1,5 +1,3 @@
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
// IGNORE_BACKEND_MULTI_MODULE: JVM_IR
|
||||
// FILE: 1.kt
|
||||
|
||||
package test
|
||||
|
||||
Reference in New Issue
Block a user