JVM_IR KT-47984 inplace arguments inlining for @InlineOnly functions
This commit is contained in:
committed by
TeamCityServer
parent
ec90649854
commit
b01c13a4df
@@ -0,0 +1,18 @@
|
||||
// FULL_JDK
|
||||
// WITH_RUNTIME
|
||||
|
||||
fun test(xs: List<String>): Map<String, String> {
|
||||
val result = linkedMapOf<String, String>()
|
||||
for (x in xs) {
|
||||
result[x] = x.zap("OK") ?: break
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
fun String.zap(y: String): String? {
|
||||
return if (this == "x") y else null
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
return test(listOf("x", "bcde", "a"))["x"]!!
|
||||
}
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
// FULL_JDK
|
||||
// WITH_RUNTIME
|
||||
|
||||
fun test(xs: List<String>, flag: Boolean = false): Map<String, String> {
|
||||
val result = linkedMapOf<String, String>()
|
||||
for (x in xs) {
|
||||
if (x.length > 3) continue
|
||||
result[x] = x.zap("OK", flag) ?: continue
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
fun String.zap(y: String, flag: Boolean = false): String? {
|
||||
return if (flag || this == "x") y else null
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
return test(listOf("a", "bcde", "x"))["x"]!!
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
// FULL_JDK
|
||||
// WITH_RUNTIME
|
||||
|
||||
fun box(): String {
|
||||
val m = HashMap<String, String>()
|
||||
m["ok"] = "OK"
|
||||
return m["ok"]!!
|
||||
}
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
// FULL_JDK
|
||||
// WITH_RUNTIME
|
||||
|
||||
class C(val xs: MutableList<String>)
|
||||
|
||||
fun box(): String {
|
||||
val c = C(ArrayList<String>())
|
||||
c.xs += listOf("OK")
|
||||
return c.xs[0]
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
|
||||
fun test() {
|
||||
println("Hello, world!")
|
||||
}
|
||||
|
||||
// JVM_IR_TEMPLATES:
|
||||
// 0 ALOAD
|
||||
// 0 ASTORE
|
||||
@@ -0,0 +1,9 @@
|
||||
// WITH_RUNTIME
|
||||
|
||||
import kotlin.math.sin
|
||||
|
||||
fun test(x: Double) = sin(2 * x)
|
||||
|
||||
// JVM_IR_TEMPLATES:
|
||||
// 0 DSTORE
|
||||
// 1 DLOAD
|
||||
Reference in New Issue
Block a user