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
@@ -23,7 +23,7 @@ class C(val i : Int) {
fun doTest(): String {
var s = ""
for ((a, b) in C(0)..C(2)) {
s += {"$a:$b;"}()
s += {"$a:$b;"}.let { it() }
}
return s
}
@@ -23,7 +23,7 @@ class C(val i : Int) {
fun doTest(): String {
var s = ""
for ((a, b) in C(0) rangeTo C(2)) {
s += {"$a:$b;"}()
s += {"$a:$b;"}.let { it() }
}
return s
}
@@ -4,7 +4,7 @@ operator fun Int.component2() = this + 2
fun doTest(): String {
var s = ""
for ((a, b) in 0.rangeTo(2)) {
s += {"$a:$b;"}()
s += {"$a:$b;"}.let { it() }
}
return s
}
@@ -4,7 +4,7 @@ operator fun Long.component2() = this + 2
fun doTest(): String {
var s = ""
for ((a, b) in 0.toLong().rangeTo(2.toLong())) {
s += {"$a:$b;"}()
s += {"$a:$b;"}.let { it() }
}
return s
}
@@ -23,7 +23,7 @@ class C(val i : Int) {
fun doTest(): String {
var s = ""
for ((a, b) in C(0).rangeTo(C(2))) {
s += {"$a:$b;"}()
s += {"$a:$b;"}.let { it() }
}
return s
}
@@ -4,7 +4,7 @@ operator fun Int.component2() = this + 2
fun doTest(): String {
var s = ""
for ((a, b) in 0.rangeTo(2)) {
s += {"$a:$b;"}()
s += {"$a:$b;"}.let { it() }
}
return s
}
@@ -4,7 +4,7 @@ operator fun Long.component2() = this + 2
fun doTest(): String {
var s = ""
for ((a, b) in 0.toLong().rangeTo(2.toLong())) {
s += {"$a:$b;"}()
s += {"$a:$b;"}.let { it() }
}
return s
}
@@ -4,7 +4,7 @@ operator fun Int.component2() = this + 2
fun doTest(): String {
var s = ""
for ((a, b) in 0..2) {
s += {"$a:$b;"}()
s += {"$a:$b;"}.let { it() }
}
return s
}
@@ -4,7 +4,7 @@ operator fun Long.component2() = this + 2
fun doTest(): String {
var s = ""
for ((a, b) in 0.toLong()..2.toLong()) {
s += {"$a:$b;"}()
s += {"$a:$b;"}.let { it() }
}
return s
}