9cef8a2133
#KT-59903 Merge-request: KT-MR-13423 Merged-by: Evgeniy Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com>
56 lines
981 B
Kotlin
Vendored
56 lines
981 B
Kotlin
Vendored
// ISSUE: KT-58754
|
|
// IGNORE_BACKEND_K1: ANY
|
|
// WITH_STDLIB
|
|
|
|
|
|
fun foo(): Int = 1
|
|
fun bar(): Int = 2
|
|
|
|
class Test(b: Boolean) {
|
|
val test_1 by lazy {
|
|
val a = if (b) {
|
|
::foo
|
|
} else {
|
|
::bar
|
|
}
|
|
a
|
|
}
|
|
|
|
val test_2 by lazy {
|
|
val a = if (b) ::foo else ::bar
|
|
a
|
|
}
|
|
|
|
val test_3 by lazy {
|
|
val a = when {
|
|
b -> { ::foo }
|
|
else -> { ::bar }
|
|
}
|
|
a
|
|
}
|
|
|
|
val test_4 by lazy {
|
|
val a = when {
|
|
b -> ::foo
|
|
else -> ::bar
|
|
}
|
|
a
|
|
}
|
|
}
|
|
|
|
fun box(): String {
|
|
with(Test(b = false)) {
|
|
require(test_1() == bar())
|
|
require(test_2() == bar())
|
|
require(test_3() == bar())
|
|
require(test_4() == bar())
|
|
}
|
|
with(Test(b = true)) {
|
|
require(test_1() == foo())
|
|
require(test_2() == foo())
|
|
require(test_3() == foo())
|
|
require(test_4() == foo())
|
|
}
|
|
return "OK"
|
|
}
|