Add source mapping tests for default lambda inlining

This commit is contained in:
Mikhael Bogdanov
2017-05-12 13:08:57 +02:00
parent 21b32b9de5
commit 3e50203283
6 changed files with 251 additions and 1 deletions
@@ -0,0 +1,41 @@
// FILE: 1.kt
package test
inline fun inlineFun(capturedParam: String, noinline lambda: () -> String = { capturedParam }): String {
return lambda()
}
// FILE: 2.kt
//NO_CHECK_LAMBDA_INLINING
import test.*
fun box(): String {
return inlineFun("OK")
}
// FILE: 1.smap
//TODO maybe do smth with default method body mapping
SMAP
1.kt
Kotlin
*S Kotlin
*F
+ 1 1.kt
test/_1Kt
*L
1#1,8:1
5#1:9
*E
SMAP
1.kt
Kotlin
*S Kotlin
*F
+ 1 1.kt
test/_1Kt$inlineFun$1
*L
1#1,8:1
*E
// FILE: 2.TODO
@@ -0,0 +1,91 @@
// FILE: 1.kt
// SKIP_INLINE_CHECK_IN: inlineFun$default
package test
@Suppress("NOT_YET_SUPPORTED_IN_INLINE")
inline fun inlineFun(capturedParam: String, crossinline lambda: () -> String = { capturedParam }): String {
return {
lambda()
}()
}
// FILE: 2.kt
import test.*
fun box(): String {
return inlineFun("OK")
}
// FILE: 1.smap
//TODO maybe do smth with default method body mapping
SMAP
1.kt
Kotlin
*S Kotlin
*F
+ 1 1.kt
test/_1Kt
*L
1#1,12:1
7#1:13
*E
SMAP
1.kt
Kotlin
*S Kotlin
*F
+ 1 1.kt
test/_1Kt$inlineFun$2
*L
1#1,12:1
*E
SMAP
1.kt
Kotlin
*S Kotlin
*F
+ 1 1.kt
test/_1Kt$inlineFun$1
*L
1#1,12:1
*E
// FILE: 2.smap
SMAP
2.kt
Kotlin
*S Kotlin
*F
+ 1 2.kt
_2Kt
+ 2 1.kt
test/_1Kt
*L
1#1,9:1
6#2,2:10
*E
*S KotlinDebug
*F
+ 1 2.kt
_2Kt
*L
6#1,2:10
*E
SMAP
1.kt
Kotlin
*S Kotlin
*F
+ 1 1.kt
test/_1Kt$inlineFun$2
+ 2 1.kt
test/_1Kt$inlineFun$1
*L
1#1,12:1
6#2:13
*E
@@ -0,0 +1,64 @@
// FILE: 1.kt
// SKIP_INLINE_CHECK_IN: inlineFun$default
package test
@Suppress("NOT_YET_SUPPORTED_IN_INLINE")
inline fun inlineFun(capturedParam: String, lambda: () -> String = { capturedParam }): String {
return lambda()
}
// FILE: 2.kt
import test.*
fun box(): String {
return inlineFun("OK")
}
// FILE: 1.smap
//TODO maybe do smth with default method body mapping
SMAP
1.kt
Kotlin
*S Kotlin
*F
+ 1 1.kt
test/_1Kt
*L
1#1,10:1
7#1:11
*E
SMAP
1.kt
Kotlin
*S Kotlin
*F
+ 1 1.kt
test/_1Kt$inlineFun$1
*L
1#1,10:1
*E
// FILE: 2.smap
SMAP
2.kt
Kotlin
*S Kotlin
*F
+ 1 2.kt
_2Kt
+ 2 1.kt
test/_1Kt
*L
1#1,9:1
6#2,2:10
*E
*S KotlinDebug
*F
+ 1 2.kt
_2Kt
*L
6#1,2:10
*E