JVM: preserve call site markers when inlining lambdas
and default functions into their own stubs. Fixes #KT-35006
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
// FILE: 1.kt
|
||||
// IGNORE_BACKEND_MULTI_MODULE: JVM_IR
|
||||
package test
|
||||
inline fun inlineFun2(param: String): String {
|
||||
return param
|
||||
}
|
||||
|
||||
inline fun inlineFun(param: String = "OK"): String {
|
||||
// The Kotlin stratum should only contain 1 out-of-range line, and
|
||||
// KotlinDebug should point it to this line:
|
||||
return inlineFun2(param)
|
||||
}
|
||||
|
||||
// FILE: 2.kt
|
||||
import test.*
|
||||
|
||||
fun box(): String {
|
||||
return inlineFun()
|
||||
}
|
||||
|
||||
// FILE: 1.smap
|
||||
SMAP
|
||||
1.kt
|
||||
Kotlin
|
||||
*S Kotlin
|
||||
*F
|
||||
+ 1 1.kt
|
||||
test/_1Kt
|
||||
*L
|
||||
1#1,14:1
|
||||
5#1:15
|
||||
*E
|
||||
*S KotlinDebug
|
||||
*F
|
||||
+ 1 1.kt
|
||||
test/_1Kt
|
||||
*L
|
||||
11#1:15
|
||||
*E
|
||||
|
||||
// FILE: 2.smap
|
||||
SMAP
|
||||
2.kt
|
||||
Kotlin
|
||||
*S Kotlin
|
||||
*F
|
||||
+ 1 2.kt
|
||||
_2Kt
|
||||
+ 2 1.kt
|
||||
test/_1Kt
|
||||
*L
|
||||
1#1,8:1
|
||||
8#2,4:9
|
||||
5#2:13
|
||||
*E
|
||||
*S KotlinDebug
|
||||
*F
|
||||
+ 1 2.kt
|
||||
_2Kt
|
||||
*L
|
||||
5#1,4:9
|
||||
5#1:13
|
||||
*E
|
||||
@@ -102,7 +102,7 @@ test/_1Kt$lParams$1
|
||||
+ 1 2.kt
|
||||
_2Kt
|
||||
*L
|
||||
5#1,5:11
|
||||
5#1:17
|
||||
5#1:16
|
||||
6#1,5:11
|
||||
6#1:17
|
||||
6#1:16
|
||||
*E
|
||||
@@ -140,9 +140,9 @@ test/_1Kt$lParams$1
|
||||
+ 1 2.kt
|
||||
_2Kt
|
||||
*L
|
||||
5#1:11
|
||||
5#1,2:12
|
||||
5#1:15
|
||||
5#1:14
|
||||
5#1:16
|
||||
6#1:11
|
||||
6#1,2:12
|
||||
6#1:15
|
||||
6#1:14
|
||||
6#1:16
|
||||
*E
|
||||
+6
-6
@@ -128,9 +128,9 @@ test/_1Kt$lParams$1
|
||||
+ 1 2.kt
|
||||
_2Kt
|
||||
*L
|
||||
5#1,5:11
|
||||
5#1:17
|
||||
5#1:16
|
||||
6#1,5:11
|
||||
6#1:17
|
||||
6#1:16
|
||||
*E
|
||||
|
||||
// FILE: 2.smap-separate-compilation
|
||||
@@ -156,9 +156,9 @@ test/_1Kt$lParams$1
|
||||
+ 1 2.kt
|
||||
_2Kt
|
||||
*L
|
||||
5#1,5:11
|
||||
5#1:17
|
||||
5#1:16
|
||||
6#1,5:11
|
||||
6#1:17
|
||||
6#1:16
|
||||
*E
|
||||
|
||||
SMAP
|
||||
|
||||
@@ -90,6 +90,6 @@ test/_1Kt$lParams$1
|
||||
+ 1 2.kt
|
||||
_2Kt
|
||||
*L
|
||||
5#1,5:11
|
||||
5#1:16
|
||||
6#1,5:11
|
||||
6#1:16
|
||||
*E
|
||||
@@ -0,0 +1,44 @@
|
||||
// FILE: 1.kt
|
||||
package test
|
||||
|
||||
inline fun f() {}
|
||||
inline fun g(x: () -> String) = x()
|
||||
|
||||
// FILE: 2.kt
|
||||
import test.*
|
||||
|
||||
fun box(): String { // KotlinDebug:
|
||||
return g { // 2.kt:N -> 2.kt:5
|
||||
f() // 2.kt:N+1 -> 2.kt:6, NOT 2.kt:5
|
||||
f() // 2.kt:N+2 -> 2.kt:7, NOT 2.kt:N+1 or 2.kt:5
|
||||
"OK"
|
||||
}
|
||||
}
|
||||
|
||||
// FILE: 1.smap
|
||||
|
||||
// FILE: 2.smap
|
||||
SMAP
|
||||
2.kt
|
||||
Kotlin
|
||||
*S Kotlin
|
||||
*F
|
||||
+ 1 2.kt
|
||||
_2Kt
|
||||
+ 2 1.kt
|
||||
test/_1Kt
|
||||
*L
|
||||
1#1,12:1
|
||||
5#2:13
|
||||
4#2:14
|
||||
4#2:15
|
||||
*E
|
||||
*S KotlinDebug
|
||||
*F
|
||||
+ 1 2.kt
|
||||
_2Kt
|
||||
*L
|
||||
5#1:13
|
||||
6#1:14
|
||||
7#1:15
|
||||
*E
|
||||
+30
-24
@@ -80,36 +80,42 @@ _2Kt
|
||||
builders/_1Kt
|
||||
*L
|
||||
1#1,25:1
|
||||
7#1,3:36
|
||||
10#1:41
|
||||
11#1,2:45
|
||||
13#1:48
|
||||
15#1:50
|
||||
7#1,3:33
|
||||
10#1:38
|
||||
11#1,2:42
|
||||
13#1:45
|
||||
15#1:47
|
||||
19#2:26
|
||||
7#2,9:27
|
||||
19#2:39
|
||||
7#2:40
|
||||
15#2:42
|
||||
11#2,2:43
|
||||
13#2:47
|
||||
8#2:49
|
||||
7#2:27
|
||||
15#2:28
|
||||
11#2,3:29
|
||||
8#2:32
|
||||
19#2:36
|
||||
7#2:37
|
||||
15#2:39
|
||||
11#2,2:40
|
||||
13#2:44
|
||||
8#2:46
|
||||
*E
|
||||
*S KotlinDebug
|
||||
*F
|
||||
+ 1 2.kt
|
||||
_2Kt
|
||||
*L
|
||||
20#1,3:36
|
||||
20#1:41
|
||||
20#1,2:45
|
||||
20#1:48
|
||||
20#1:50
|
||||
9#1:26
|
||||
9#1,9:27
|
||||
20#1:39
|
||||
20#1:40
|
||||
20#1:42
|
||||
20#1,2:43
|
||||
20#1,3:33
|
||||
20#1:38
|
||||
20#1,2:42
|
||||
20#1:45
|
||||
20#1:47
|
||||
20#1:49
|
||||
9#1:26
|
||||
9#1:27
|
||||
10#1:28
|
||||
10#1,3:29
|
||||
9#1:32
|
||||
20#1:36
|
||||
20#1:37
|
||||
20#1:39
|
||||
20#1,2:40
|
||||
20#1:44
|
||||
20#1:46
|
||||
*E
|
||||
Reference in New Issue
Block a user