JVM IR: Avoid direct lambda invokes in inline tests
This commit is contained in:
committed by
Alexander Udalov
parent
f0760e0550
commit
2acfb3a41f
@@ -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
|
||||
|
||||
+2
-2
@@ -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) =
|
||||
|
||||
+2
-2
@@ -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
|
||||
|
||||
+2
-2
@@ -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()
|
||||
|
||||
+5
-5
@@ -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
|
||||
|
||||
+9
-9
@@ -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
|
||||
|
||||
+1
-1
@@ -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" }
|
||||
|
||||
+2
-2
@@ -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
|
||||
|
||||
+3
-3
@@ -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
|
||||
|
||||
+1
-1
@@ -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" }
|
||||
|
||||
+2
-2
@@ -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
|
||||
|
||||
+3
-3
@@ -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
|
||||
|
||||
+2
-2
@@ -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
|
||||
|
||||
+4
-4
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user