JVM IR: Avoid direct invokes in callable reference tests

Due to the direct invoke optimization, most callable reference tests
were not generating callable references/lambdas.
This commit is contained in:
Steven Schäfer
2022-06-13 14:49:49 +02:00
committed by Alexander Udalov
parent f0238766df
commit 7d59c7689c
123 changed files with 216 additions and 208 deletions
@@ -4,7 +4,7 @@
OPTIONAL_JVM_INLINE_ANNOTATION
value class R(private val r: Long) {
fun test() = { ok() }()
fun test() = { ok() }.let { it() }
private fun ok() = "OK"
}
@@ -4,7 +4,7 @@
OPTIONAL_JVM_INLINE_ANNOTATION
value class R<T: Long>(private val r: T) {
fun test() = { ok() }()
fun test() = { ok() }.let { it() }
private fun ok() = "OK"
}
@@ -4,7 +4,7 @@
OPTIONAL_JVM_INLINE_ANNOTATION
value class R(private val r: Int) {
fun test() = { ok() }()
fun test() = { ok() }.let { it() }
fun ok() = "OK"
}
@@ -4,7 +4,7 @@
OPTIONAL_JVM_INLINE_ANNOTATION
value class R(private val r: Long) {
fun test() = { ok() }()
fun test() = { ok() }.let { it() }
fun ok() = "OK"
}
@@ -4,7 +4,7 @@
OPTIONAL_JVM_INLINE_ANNOTATION
value class R<T: Long>(private val r: T) {
fun test() = { ok() }()
fun test() = { ok() }.let { it() }
fun ok() = "OK"
}
@@ -4,7 +4,7 @@
OPTIONAL_JVM_INLINE_ANNOTATION
value class R<T: Int>(private val r: T) {
fun test() = { ok() }()
fun test() = { ok() }.let { it() }
fun ok() = "OK"
}