Files
kotlin-fork/compiler/testData/codegen/boxInline/anonymousObject/anonymousObjectInDefault.kt
T
Svyatoslav Kuzmich 26c1098a4f [Wasm] Fix inliner issues (KT-56584)
* 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>
2023-02-13 13:14:43 +00:00

33 lines
516 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.*
interface IFoo {
fun foo(): String
}
class A(val x: String, f: () -> IFoo = {
val y = "K"
myRun {
val o = object: IFoo {
override fun foo() = x + y
}
o
}
}) {
val foo: IFoo = f()
}
fun box(): String {
return A("O").foo.foo()
}