JVM IR: Avoid direct lambda invokes in inline tests

This commit is contained in:
Steven Schäfer
2022-06-13 15:13:04 +02:00
committed by Alexander Udalov
parent f0760e0550
commit 2acfb3a41f
117 changed files with 211 additions and 210 deletions
@@ -4,8 +4,8 @@
package test
abstract class Introspector {
abstract inner class SchemaRetriever(val transaction: String) {
inline fun inSchema(crossinline modifier: (String) -> Unit) =
{ modifier.invoke(transaction) }()
inline fun inSchema(crossinline modifier: (String) -> Unit)
{ val lambda = { modifier.invoke(transaction) }; lambda() }
}
}
@@ -5,7 +5,7 @@ Kotlin
*S Kotlin
*F
+ 1 1.kt
test/Introspector$SchemaRetriever$inSchema$1
test/Introspector$SchemaRetriever$inSchema$lambda$1
*L
1#1,12:1
*E
@@ -37,7 +37,7 @@ Kotlin
*S Kotlin
*F
+ 1 1.kt
test/Introspector$SchemaRetriever$inSchema$1
test/Introspector$SchemaRetriever$inSchema$lambda$1
+ 2 2.kt
IntrospectorImpl$SchemaRetriever
*L
@@ -5,9 +5,9 @@
package builders
inline fun call(crossinline init: () -> Unit) {
return {
val lambda = {
init()
}()
}; lambda()
}
// FILE: 2.kt
@@ -5,7 +5,7 @@ Kotlin
*S Kotlin
*F
+ 1 1.kt
builders/_1Kt$call$1
builders/_1Kt$call$lambda$1
*L
1#1,13:1
*E
@@ -22,13 +22,13 @@ _2Kt
builders/_1Kt
*L
1#1,31:1
8#2:32
8#2,4:32
*S KotlinDebug
*F
+ 1 2.kt
_2Kt
*L
20#1:32
20#1:32,4
*E
SMAP
@@ -37,7 +37,7 @@ Kotlin
*S Kotlin
*F
+ 1 1.kt
builders/_1Kt$call$1
builders/_1Kt$call$lambda$1
+ 2 2.kt
_2Kt
*L
@@ -17,9 +17,9 @@ fun test(): String {
var res = "Fail"
call {
{
val lambda ={
res = "OK"
}()
}; lambda()
}
return res
@@ -3,8 +3,8 @@
package test
inline fun annotatedWith2(crossinline predicate: () -> Boolean) =
{ any { predicate() } }()
inline fun annotatedWith2(crossinline predicate: () -> Boolean)
{ val lambda = { any { predicate() } }; lambda() }
inline fun annotatedWith(crossinline predicate: () -> Boolean) =
@@ -27,7 +27,7 @@ Kotlin
*S Kotlin
*F
+ 1 1.kt
test/_1Kt$annotatedWith2$1
test/_1Kt$annotatedWith2$lambda$1
+ 2 1.kt
test/_1Kt
+ 3 2.kt
@@ -41,7 +41,7 @@ _2Kt
*S KotlinDebug
*F
+ 1 1.kt
test/_1Kt$annotatedWith2$1
test/_1Kt$annotatedWith2$lambda$1
*L
7#1:20
7#1:23
@@ -28,10 +28,10 @@ package test
//A lot of blank lines [Don't delete]
//A lot of blank lines [Don't delete]
inline fun kValue(crossinline s: () -> String) = { s() + "K" }()
inline fun kValue(crossinline s: () -> String): String { val lambda = { s() + "K" }; return lambda() }
inline fun lParams(initParams: () -> String = {
{ "" + kValue { "O" } }()
val lambda = { "" + kValue { "O" } }; lambda()
}): String {
val z = "body"
return initParams()
@@ -16,7 +16,7 @@ Kotlin
*S Kotlin
*F
+ 1 1.kt
test/_1Kt$lParams$1$1
test/_1Kt$lParams$1$lambda$1
+ 2 1.kt
test/_1Kt
*L
@@ -25,7 +25,7 @@ test/_1Kt
*S KotlinDebug
*F
+ 1 1.kt
test/_1Kt$lParams$1$1
test/_1Kt$lParams$1$lambda$1
*L
34#1:41
*E
@@ -36,9 +36,9 @@ Kotlin
*S Kotlin
*F
+ 1 1.kt
test/_1Kt$kValue$1
test/_1Kt$kValue$lambda$1
+ 2 1.kt
test/_1Kt$lParams$1$1
test/_1Kt$lParams$1$lambda$1
*L
1#1,40:1
34#2:41
@@ -50,7 +50,7 @@ Kotlin
*S Kotlin
*F
+ 1 1.kt
test/_1Kt$kValue$1
test/_1Kt$kValue$lambda$1
*L
1#1,40:1
*E
@@ -16,7 +16,7 @@ Kotlin
*S Kotlin
*F
+ 1 1.kt
test/_1Kt$lParams$1$1
test/_1Kt$lParams$1$lambda$1
+ 2 1.kt
test/_1Kt
*L
@@ -25,7 +25,7 @@ test/_1Kt
*S KotlinDebug
*F
+ 1 1.kt
test/_1Kt$lParams$1$1
test/_1Kt$lParams$1$lambda$1
*L
34#1:41
*E
@@ -36,9 +36,9 @@ Kotlin
*S Kotlin
*F
+ 1 1.kt
test/_1Kt$kValue$1
test/_1Kt$kValue$lambda$1
+ 2 1.kt
test/_1Kt$lParams$1$1
test/_1Kt$lParams$1$lambda$1
*L
1#1,40:1
34#2:41
@@ -50,7 +50,7 @@ Kotlin
*S Kotlin
*F
+ 1 1.kt
test/_1Kt$kValue$1
test/_1Kt$kValue$lambda$1
*L
1#1,40:1
*E
@@ -86,7 +86,7 @@ Kotlin
*S Kotlin
*F
+ 1 1.kt
test/_1Kt$lParams$1$1
test/_1Kt$lParams$1$lambda$1
+ 2 1.kt
test/_1Kt
*L
@@ -95,7 +95,7 @@ test/_1Kt
*S KotlinDebug
*F
+ 1 1.kt
test/_1Kt$lParams$1$1
test/_1Kt$lParams$1$lambda$1
*L
34#1:41
*E
@@ -106,9 +106,9 @@ Kotlin
*S Kotlin
*F
+ 1 1.kt
test/_1Kt$kValue$1
test/_1Kt$kValue$lambda$1
+ 2 1.kt
test/_1Kt$lParams$1$1
test/_1Kt$lParams$1$lambda$1
*L
1#1,40:1
34#2:41
@@ -29,7 +29,7 @@ package test
//A lot of blank lines [Don't delete]
//A lot of blank lines [Don't delete]
inline fun kValue(crossinline s: () -> String) = { s() + "K" }()
inline fun kValue(crossinline s: () -> String): String { val lambda = { s() + "K" }; return lambda() }
inline fun lParams(initParams: () -> String = {
"" + kValue { "O" }
@@ -25,7 +25,7 @@ Kotlin
*S Kotlin
*F
+ 1 1.kt
test/_1Kt$kValue$1
test/_1Kt$kValue$lambda$1
+ 2 1.kt
test/_1Kt$lParams$1
*L
@@ -39,7 +39,7 @@ Kotlin
*S Kotlin
*F
+ 1 1.kt
test/_1Kt$kValue$1
test/_1Kt$kValue$lambda$1
*L
1#1,41:1
*E
@@ -25,7 +25,7 @@ Kotlin
*S Kotlin
*F
+ 1 1.kt
test/_1Kt$kValue$1
test/_1Kt$kValue$lambda$1
+ 2 1.kt
test/_1Kt$lParams$1
*L
@@ -39,7 +39,7 @@ Kotlin
*S Kotlin
*F
+ 1 1.kt
test/_1Kt$kValue$1
test/_1Kt$kValue$lambda$1
*L
1#1,41:1
*E
@@ -77,7 +77,7 @@ Kotlin
*S Kotlin
*F
+ 1 1.kt
test/_1Kt$kValue$1
test/_1Kt$kValue$lambda$1
+ 2 1.kt
test/_1Kt$lParams$1
*L
@@ -29,7 +29,7 @@ package test
//A lot of blank lines [Don't delete]
//A lot of blank lines [Don't delete]
inline fun kValue(crossinline s: () -> String) = { s() + "K" }()
inline fun kValue(crossinline s: () -> String): String { val lambda = { s() + "K" }; return lambda() }
inline fun lParams(initParams: () -> String = {
"" + kValue { "O" }
@@ -25,7 +25,7 @@ Kotlin
*S Kotlin
*F
+ 1 1.kt
test/_1Kt$kValue$1
test/_1Kt$kValue$lambda$1
+ 2 1.kt
test/_1Kt$lParams$1
*L
@@ -39,7 +39,7 @@ Kotlin
*S Kotlin
*F
+ 1 1.kt
test/_1Kt$kValue$1
test/_1Kt$kValue$lambda$1
*L
1#1,41:1
*E
@@ -25,7 +25,7 @@ Kotlin
*S Kotlin
*F
+ 1 1.kt
test/_1Kt$kValue$1
test/_1Kt$kValue$lambda$1
+ 2 1.kt
test/_1Kt$lParams$1
*L
@@ -39,7 +39,7 @@ Kotlin
*S Kotlin
*F
+ 1 1.kt
test/_1Kt$kValue$1
test/_1Kt$kValue$lambda$1
*L
1#1,41:1
*E
@@ -77,7 +77,7 @@ Kotlin
*S Kotlin
*F
+ 1 1.kt
test/_1Kt$kValue$1
test/_1Kt$kValue$lambda$1
+ 2 1.kt
test/_1Kt$lParams$1
*L
@@ -5,9 +5,9 @@
package test
inline fun inlineFun(capturedParam: String, crossinline lambda: () -> String = { capturedParam }): String {
return {
val lambda2 = {
lambda()
}()
}; return lambda2()
}
// FILE: 2.kt
@@ -5,7 +5,7 @@ Kotlin
*S Kotlin
*F
+ 1 1.kt
test/_1Kt$inlineFun$2
test/_1Kt$inlineFun$lambda2$1
*L
1#1,13:1
*E
@@ -33,13 +33,13 @@ _2Kt
test/_1Kt
*L
1#1,20:1
7#2,2:21
7#2,4:21
*S KotlinDebug
*F
+ 1 2.kt
_2Kt
*L
18#1:21,2
18#1:21,4
*E
SMAP
@@ -48,7 +48,7 @@ Kotlin
*S Kotlin
*F
+ 1 1.kt
test/_1Kt$inlineFun$2
test/_1Kt$inlineFun$lambda2$1
+ 2 1.kt
test/_1Kt$inlineFun$1
*L
@@ -8,11 +8,11 @@ inline fun myrun(s: () -> Unit) {
}
inline fun test(crossinline s: () -> Unit) {
{
val lambda = {
val z = 1;
myrun(s)
val x = 1;
}()
}; lambda()
}
// FILE: 2.kt
@@ -5,7 +5,7 @@ Kotlin
*S Kotlin
*F
+ 1 1.kt
test/_1Kt$test$1
test/_1Kt$test$lambda$1
+ 2 1.kt
test/_1Kt
*L
@@ -14,7 +14,7 @@ test/_1Kt
*S KotlinDebug
*F
+ 1 1.kt
test/_1Kt$test$1
test/_1Kt$test$lambda$1
*L
13#1:19,3
*E
@@ -46,7 +46,7 @@ Kotlin
*S Kotlin
*F
+ 1 1.kt
test/_1Kt$test$1
test/_1Kt$test$lambda$1
+ 2 1.kt
test/_1Kt
+ 3 2.kt
@@ -59,7 +59,7 @@ _2Kt
*S KotlinDebug
*F
+ 1 1.kt
test/_1Kt$test$1
test/_1Kt$test$lambda$1
*L
13#1:19,2
13#1:23