26c1098a4f
* Fix objects in inline functions and lambdas: * Add common lowerings used in K/JS and K/Native * Fix inline lambda call detection logic in presence of additional casts Merge-request: KT-MR-8791 Merged-by: Svyatoslav Kuzmich <svyatoslav.kuzmich@jetbrains.com>
26 lines
414 B
Kotlin
Vendored
26 lines
414 B
Kotlin
Vendored
// IGNORE_BACKEND: JVM
|
|
// IGNORE_BACKEND_MULTI_MODULE: JVM, JVM_MULTI_MODULE_OLD_AGAINST_IR
|
|
// NO_CHECK_LAMBDA_INLINING
|
|
// FILE: 1.kt
|
|
|
|
package test
|
|
|
|
inline fun <T> myRun(block: () -> T) = block()
|
|
|
|
// FILE: 2.kt
|
|
|
|
import test.*
|
|
|
|
fun box(): String {
|
|
val y = "O"
|
|
val x = myRun {
|
|
fun foo() = y + "K"
|
|
|
|
val o = object {
|
|
fun bar() = foo()
|
|
}
|
|
o
|
|
}
|
|
return x.bar()
|
|
}
|