[PSI2IR] Sync start and end offsets on PSI and FIR for an implicit return inside lambdas

This commit is contained in:
Artem Kobzar
2024-02-27 19:25:24 +00:00
committed by Space Team
parent a582bf22e3
commit 02a78051aa
39 changed files with 20 additions and 2865 deletions
File diff suppressed because it is too large Load Diff
-2
View File
@@ -1,8 +1,6 @@
// WITH_STDLIB
// IGNORE_BACKEND: JVM
// JVM_ABI_K1_K2_DIFF: KT-62464
import kotlin.coroutines.*
interface Flow<out T> {
@@ -1,33 +0,0 @@
MODULE main
CLASS _2Kt$box$$inlined$foo$1.class
Annotation: class.invisibleAnnotations
K1
@Lkotlin/jvm/internal/SourceDebugExtension;( value: #{ SMAP
1.kt
Kotlin
*S Kotlin
*F
+ 1 1.kt
test/_1Kt$foo$1
+ 2 2.kt
_2Kt
*L
1#1,26:1
33#2:27
*E
} )
K2
@Lkotlin/jvm/internal/SourceDebugExtension;( value: #{ SMAP
1.kt
Kotlin
*S Kotlin
*F
+ 1 1.kt
test/_1Kt$foo$1
+ 2 2.kt
_2Kt
*L
1#1,26:1
33#2,5:27
*E
} )
@@ -3,7 +3,6 @@
// WITH_STDLIB
// IGNORE_BACKEND: JVM
// IGNORE_BACKEND_MULTI_MODULE: JVM, JVM_MULTI_MODULE_OLD_AGAINST_IR
// JVM_ABI_K1_K2_DIFF: KT-62464
// FILE: 1.kt
@@ -1,85 +0,0 @@
MODULE main
CLASS TestKt.class
Annotation: class.invisibleAnnotations
K1
@Lkotlin/jvm/internal/SourceDebugExtension;( value: #{ SMAP
test.kt
Kotlin
*S Kotlin
*F
+ 1 test.kt
TestKt
*L
1#1,44:1
23#1,9:45
*S KotlinDebug
*F
+ 1 test.kt
TestKt
*L
14#1:45,9
*E
} )
K2
@Lkotlin/jvm/internal/SourceDebugExtension;( value: #{ SMAP
test.kt
Kotlin
*S Kotlin
*F
+ 1 test.kt
TestKt
*L
1#1,44:1
23#1,18:45
*S KotlinDebug
*F
+ 1 test.kt
TestKt
*L
14#1:45,18
*E
} )
CLASS BoxKt.class
Annotation: class.invisibleAnnotations
K1
@Lkotlin/jvm/internal/SourceDebugExtension;( value: #{ SMAP
box.kt
Kotlin
*S Kotlin
*F
+ 1 box.kt
BoxKt
+ 2 test.kt
TestKt
*L
1#1,56:1
14#2,18:57
*S KotlinDebug
*F
+ 1 box.kt
BoxKt
*L
51#1:57,18
*E
} )
K2
@Lkotlin/jvm/internal/SourceDebugExtension;( value: #{ SMAP
box.kt
Kotlin
*S Kotlin
*F
+ 1 box.kt
BoxKt
+ 2 test.kt
TestKt
*L
1#1,56:1
14#2,27:57
*S KotlinDebug
*F
+ 1 box.kt
BoxKt
*L
51#1:57,27
*E
} )
@@ -1,6 +1,5 @@
// WITH_COROUTINES
// WITH_STDLIB
// JVM_ABI_K1_K2_DIFF: KT-62464
// FILE: test.kt
@@ -1,65 +0,0 @@
MODULE main
CLASS _1Kt$transformMessage$$inlined$decorate$1.class
Annotation: class.invisibleAnnotations
K1
@Lkotlin/jvm/internal/SourceDebugExtension;( value: #{ SMAP
1.kt
Kotlin
*S Kotlin
*F
+ 1 1.kt
_1Kt$decorate$1
+ 2 1.kt
_1Kt
*L
1#1,19:1
13#2:20
*E
} )
K2
@Lkotlin/jvm/internal/SourceDebugExtension;( value: #{ SMAP
1.kt
Kotlin
*S Kotlin
*F
+ 1 1.kt
_1Kt$decorate$1
+ 2 1.kt
_1Kt
*L
1#1,19:1
13#2,4:20
*E
} )
CLASS _2Kt$append$$inlined$transformMessage$1.class
Annotation: class.invisibleAnnotations
K1
@Lkotlin/jvm/internal/SourceDebugExtension;( value: #{ SMAP
1.kt
Kotlin
*S Kotlin
*F
+ 1 1.kt
_1Kt$decorate$1
+ 2 1.kt
_1Kt
*L
1#1,19:1
13#2:20
*E
} )
K2
@Lkotlin/jvm/internal/SourceDebugExtension;( value: #{ SMAP
1.kt
Kotlin
*S Kotlin
*F
+ 1 1.kt
_1Kt$decorate$1
+ 2 1.kt
_1Kt
*L
1#1,19:1
13#2,4:20
*E
} )
@@ -1,4 +1,3 @@
// JVM_ABI_K1_K2_DIFF: KT-62464
// FILE: 1.kt
interface Service {
@@ -1,60 +0,0 @@
MODULE main
CLASS _2Kt$box$$inlined$switchMapOnce$1.class
Annotation: class.invisibleAnnotations
K1
@Lkotlin/jvm/internal/SourceDebugExtension;( value: #{ SMAP
1.kt
Kotlin
*S Kotlin
*F
+ 1 1.kt
test/_1Kt$switchMapOnce$2
+ 2 2.kt
_2Kt
+ 3 1.kt
test/_1Kt
+ 4 fake.kt
kotlin/jvm/internal/FakeKt
*L
1#1,17:1
24#2:18
14#3,2:19
1#4:21
*S KotlinDebug
*F
+ 1 2.kt
_2Kt
*L
24#1:19,2
24#1:21
*E
} )
K2
@Lkotlin/jvm/internal/SourceDebugExtension;( value: #{ SMAP
1.kt
Kotlin
*S Kotlin
*F
+ 1 1.kt
test/_1Kt$switchMapOnce$2
+ 2 2.kt
_2Kt
+ 3 1.kt
test/_1Kt
+ 4 fake.kt
kotlin/jvm/internal/FakeKt
*L
1#1,17:1
24#2:18
26#2:22
14#3,2:19
1#4:21
*S KotlinDebug
*F
+ 1 2.kt
_2Kt
*L
24#1:19,2
24#1:21
*E
} )
@@ -1,6 +1,5 @@
// FULL_JDK
// TARGET_BACKEND: JVM
// JVM_ABI_K1_K2_DIFF: KT-62464
// FILE: 1.kt
@@ -1,101 +0,0 @@
MODULE main
CLASS test/_1Kt.class
Annotation: class.invisibleAnnotations
K1
@Lkotlin/jvm/internal/SourceDebugExtension;( value: #{ SMAP
1.kt
Kotlin
*S Kotlin
*F
+ 1 1.kt
test/_1Kt
+ 2 1.kt
test/_1Kt$test$1
*L
1#1,19:1
11#1,5:20
12#2:25
*S KotlinDebug
*F
+ 1 1.kt
test/_1Kt
*L
17#1:20,5
17#1:25
*E
} )
K2
@Lkotlin/jvm/internal/SourceDebugExtension;( value: #{ SMAP
1.kt
Kotlin
*S Kotlin
*F
+ 1 1.kt
test/_1Kt
+ 2 1.kt
test/_1Kt$test$1
*L
1#1,19:1
11#1,5:20
12#2,3:25
*S KotlinDebug
*F
+ 1 1.kt
test/_1Kt
*L
17#1:20,5
17#1:25,3
*E
} )
CLASS _2Kt.class
Annotation: class.invisibleAnnotations
K1
@Lkotlin/jvm/internal/SourceDebugExtension;( value: #{ SMAP
2.kt
Kotlin
*S Kotlin
*F
+ 1 2.kt
_2Kt
+ 2 1.kt
test/_1Kt
+ 3 1.kt
test/_1Kt$test$1
*L
1#1,27:1
11#2,5:28
12#3:33
*S KotlinDebug
*F
+ 1 2.kt
_2Kt
*L
24#1:28,5
24#1:33
*E
} )
K2
@Lkotlin/jvm/internal/SourceDebugExtension;( value: #{ SMAP
2.kt
Kotlin
*S Kotlin
*F
+ 1 2.kt
_2Kt
+ 2 1.kt
test/_1Kt
+ 3 1.kt
test/_1Kt$test$1
*L
1#1,27:1
11#2,5:28
12#3,3:33
*S KotlinDebug
*F
+ 1 2.kt
_2Kt
*L
24#1:28,5
24#1:33,3
*E
} )
@@ -1,5 +1,4 @@
// NO_CHECK_LAMBDA_INLINING
// JVM_ABI_K1_K2_DIFF: KT-62464
// FILE: 1.kt
package test
@@ -1,101 +0,0 @@
MODULE main
CLASS test/_1Kt.class
Annotation: class.invisibleAnnotations
K1
@Lkotlin/jvm/internal/SourceDebugExtension;( value: #{ SMAP
1.kt
Kotlin
*S Kotlin
*F
+ 1 1.kt
test/_1Kt
+ 2 1.kt
test/_1Kt$test$1
*L
1#1,19:1
11#1,5:20
12#2:25
*S KotlinDebug
*F
+ 1 1.kt
test/_1Kt
*L
17#1:20,5
17#1:25
*E
} )
K2
@Lkotlin/jvm/internal/SourceDebugExtension;( value: #{ SMAP
1.kt
Kotlin
*S Kotlin
*F
+ 1 1.kt
test/_1Kt
+ 2 1.kt
test/_1Kt$test$1
*L
1#1,19:1
11#1,5:20
12#2,3:25
*S KotlinDebug
*F
+ 1 1.kt
test/_1Kt
*L
17#1:20,5
17#1:25,3
*E
} )
CLASS _2Kt.class
Annotation: class.invisibleAnnotations
K1
@Lkotlin/jvm/internal/SourceDebugExtension;( value: #{ SMAP
2.kt
Kotlin
*S Kotlin
*F
+ 1 2.kt
_2Kt
+ 2 1.kt
test/_1Kt
+ 3 1.kt
test/_1Kt$test$1
*L
1#1,28:1
11#2,5:29
12#3:34
*S KotlinDebug
*F
+ 1 2.kt
_2Kt
*L
24#1:29,5
24#1:34
*E
} )
K2
@Lkotlin/jvm/internal/SourceDebugExtension;( value: #{ SMAP
2.kt
Kotlin
*S Kotlin
*F
+ 1 2.kt
_2Kt
+ 2 1.kt
test/_1Kt
+ 3 1.kt
test/_1Kt$test$1
*L
1#1,28:1
11#2,5:29
12#3,3:34
*S KotlinDebug
*F
+ 1 2.kt
_2Kt
*L
24#1:29,5
24#1:34,3
*E
} )
@@ -1,5 +1,4 @@
// NO_CHECK_LAMBDA_INLINING
// JVM_ABI_K1_K2_DIFF: KT-62464
// FILE: 1.kt
package test
@@ -1,53 +0,0 @@
MODULE main
CLASS _2Kt.class
Annotation: class.invisibleAnnotations
K1
@Lkotlin/jvm/internal/SourceDebugExtension;( value: #{ SMAP
2.kt
Kotlin
*S Kotlin
*F
+ 1 2.kt
_2Kt
+ 2 1.kt
test/_1Kt
+ 3 1.kt
test/_1Kt$test$1
*L
1#1,23:1
11#2,5:24
12#3:29
*S KotlinDebug
*F
+ 1 2.kt
_2Kt
*L
21#1:24,5
21#1:29
*E
} )
K2
@Lkotlin/jvm/internal/SourceDebugExtension;( value: #{ SMAP
2.kt
Kotlin
*S Kotlin
*F
+ 1 2.kt
_2Kt
+ 2 1.kt
test/_1Kt
+ 3 1.kt
test/_1Kt$test$1
*L
1#1,23:1
11#2,5:24
12#3,3:29
*S KotlinDebug
*F
+ 1 2.kt
_2Kt
*L
21#1:24,5
21#1:29,3
*E
} )
@@ -1,5 +1,4 @@
// NO_CHECK_LAMBDA_INLINING
// JVM_ABI_K1_K2_DIFF: KT-62464
// FILE: 1.kt
package test
@@ -1,60 +0,0 @@
MODULE main
CLASS _2Kt$box$$inlined$call$2.class
Annotation: class.invisibleAnnotations
K1
@Lkotlin/jvm/internal/SourceDebugExtension;( value: #{ SMAP
1.kt
Kotlin
*S Kotlin
*F
+ 1 1.kt
test/_1Kt$call$1
+ 2 2.kt
_2Kt
+ 3 1.kt
test/_1Kt
+ 4 fake.kt
kotlin/jvm/internal/FakeKt
*L
1#1,13:1
27#2:14
9#3:15
1#4:16
*S KotlinDebug
*F
+ 1 2.kt
_2Kt
*L
27#1:15
27#1:16
*E
} )
K2
@Lkotlin/jvm/internal/SourceDebugExtension;( value: #{ SMAP
1.kt
Kotlin
*S Kotlin
*F
+ 1 1.kt
test/_1Kt$call$1
+ 2 2.kt
_2Kt
+ 3 1.kt
test/_1Kt
+ 4 fake.kt
kotlin/jvm/internal/FakeKt
*L
1#1,13:1
27#2:14
29#2:17
9#3:15
1#4:16
*S KotlinDebug
*F
+ 1 2.kt
_2Kt
*L
27#1:15
27#1:16
*E
} )
@@ -1,6 +1,5 @@
// TARGET_BACKEND: JVM
// WITH_STDLIB
// JVM_ABI_K1_K2_DIFF: KT-62464
// FILE: 1.kt
@@ -1,45 +0,0 @@
MODULE main
CLASS InlineSiteKt$abc$$inlined$map$1$1.class
Annotation: class.invisibleAnnotations
K1
@Lkotlin/jvm/internal/SourceDebugExtension;( value: #{ SMAP
inlined.kt
Kotlin
*S Kotlin
*F
+ 1 inlined.kt
InlinedKt$collect$2
+ 2 inlined.kt
InlinedKt$transform$1
+ 3 inlined.kt
InlinedKt
+ 4 inlineSite.kt
InlineSiteKt
*L
1#1,41:1
25#2:42
30#3:43
46#4,4:44
*E
} )
K2
@Lkotlin/jvm/internal/SourceDebugExtension;( value: #{ SMAP
inlined.kt
Kotlin
*S Kotlin
*F
+ 1 inlined.kt
InlinedKt$collect$2
+ 2 inlined.kt
InlinedKt$transform$1
+ 3 inlined.kt
InlinedKt
+ 4 inlineSite.kt
InlineSiteKt
*L
1#1,41:1
25#2:42
30#3:43
46#4,5:44
*E
} )
@@ -1,7 +1,6 @@
// WITH_COROUTINES
// NO_CHECK_LAMBDA_INLINING
// WITH_STDLIB
// JVM_ABI_K1_K2_DIFF: KT-62464
// FILE: inlined.kt
@@ -1,64 +0,0 @@
MODULE main
CLASS A$test2$$inlined$call$1.class
Annotation: class.invisibleAnnotations
K1
@Lkotlin/jvm/internal/SourceDebugExtension;( value: #{ SMAP
1.kt
Kotlin
*S Kotlin
*F
+ 1 1.kt
test/_1Kt$call$1
+ 2 2.kt
A
+ 3 1.kt
test/_1Kt
+ 4 fake.kt
kotlin/jvm/internal/FakeKt
*L
1#1,14:1
31#2:15
11#3:16
9#3:18
1#4:17
*S KotlinDebug
*F
+ 1 2.kt
A
*L
31#1:16
31#1:18
31#1:17
*E
} )
K2
@Lkotlin/jvm/internal/SourceDebugExtension;( value: #{ SMAP
1.kt
Kotlin
*S Kotlin
*F
+ 1 1.kt
test/_1Kt$call$1
+ 2 2.kt
A
+ 3 1.kt
test/_1Kt
+ 4 fake.kt
kotlin/jvm/internal/FakeKt
*L
1#1,14:1
31#2:15
33#2:19
11#3:16
9#3:18
1#4:17
*S KotlinDebug
*F
+ 1 2.kt
A
*L
31#1:16
31#1:18
31#1:17
*E
} )
@@ -1,5 +1,4 @@
// NO_CHECK_LAMBDA_INLINING
// JVM_ABI_K1_K2_DIFF: KT-62464
// FILE: 1.kt
@@ -1,64 +0,0 @@
MODULE main
CLASS A$test2$$inlined$call$1.class
Annotation: class.invisibleAnnotations
K1
@Lkotlin/jvm/internal/SourceDebugExtension;( value: #{ SMAP
1.kt
Kotlin
*S Kotlin
*F
+ 1 1.kt
test/_1Kt$call$1
+ 2 2.kt
A
+ 3 1.kt
test/_1Kt
+ 4 fake.kt
kotlin/jvm/internal/FakeKt
*L
1#1,20:1
37#2:21
10#3:22
8#3:24
1#4:23
*S KotlinDebug
*F
+ 1 2.kt
A
*L
37#1:22
37#1:24
37#1:23
*E
} )
K2
@Lkotlin/jvm/internal/SourceDebugExtension;( value: #{ SMAP
1.kt
Kotlin
*S Kotlin
*F
+ 1 1.kt
test/_1Kt$call$1
+ 2 2.kt
A
+ 3 1.kt
test/_1Kt
+ 4 fake.kt
kotlin/jvm/internal/FakeKt
*L
1#1,20:1
37#2:21
39#2:25
10#3:22
8#3:24
1#4:23
*S KotlinDebug
*F
+ 1 2.kt
A
*L
37#1:22
37#1:24
37#1:23
*E
} )
@@ -1,5 +1,4 @@
// NO_CHECK_LAMBDA_INLINING
// JVM_ABI_K1_K2_DIFF: KT-62464
// FILE: 1.kt
package test
@@ -1,60 +0,0 @@
MODULE main
CLASS _2Kt$box$$inlined$call$2.class
Annotation: class.invisibleAnnotations
K1
@Lkotlin/jvm/internal/SourceDebugExtension;( value: #{ SMAP
1.kt
Kotlin
*S Kotlin
*F
+ 1 1.kt
test/_1Kt$call$1
+ 2 2.kt
_2Kt
+ 3 1.kt
test/_1Kt
+ 4 fake.kt
kotlin/jvm/internal/FakeKt
*L
1#1,11:1
21#2:12
7#3:13
1#4:14
*S KotlinDebug
*F
+ 1 2.kt
_2Kt
*L
21#1:13
21#1:14
*E
} )
K2
@Lkotlin/jvm/internal/SourceDebugExtension;( value: #{ SMAP
1.kt
Kotlin
*S Kotlin
*F
+ 1 1.kt
test/_1Kt$call$1
+ 2 2.kt
_2Kt
+ 3 1.kt
test/_1Kt
+ 4 fake.kt
kotlin/jvm/internal/FakeKt
*L
1#1,11:1
21#2:12
23#2:15
7#3:13
1#4:14
*S KotlinDebug
*F
+ 1 2.kt
_2Kt
*L
21#1:13
21#1:14
*E
} )
@@ -1,4 +1,3 @@
// JVM_ABI_K1_K2_DIFF: KT-62464
// FILE: 1.kt
@@ -1,65 +0,0 @@
MODULE main
CLASS FinallyMarkersKt$box$$inlined$test$1.class
Annotation: class.invisibleAnnotations
K1
@Lkotlin/jvm/internal/SourceDebugExtension;( value: #{ SMAP
finallyMarkers.kt
Kotlin
*S Kotlin
*F
+ 1 finallyMarkers.kt
FinallyMarkersKt$test$1
+ 2 finallyMarkers.kt
FinallyMarkersKt
*L
1#1,28:1
17#2,3:29
*E
} )
K2
@Lkotlin/jvm/internal/SourceDebugExtension;( value: #{ SMAP
finallyMarkers.kt
Kotlin
*S Kotlin
*F
+ 1 finallyMarkers.kt
FinallyMarkersKt$test$1
+ 2 finallyMarkers.kt
FinallyMarkersKt
*L
1#1,28:1
17#2,4:29
*E
} )
CLASS FinallyMarkersKt$box$$inlined$test$2.class
Annotation: class.invisibleAnnotations
K1
@Lkotlin/jvm/internal/SourceDebugExtension;( value: #{ SMAP
finallyMarkers.kt
Kotlin
*S Kotlin
*F
+ 1 finallyMarkers.kt
FinallyMarkersKt$test$3
+ 2 finallyMarkers.kt
FinallyMarkersKt
*L
1#1,28:1
17#2,3:29
*E
} )
K2
@Lkotlin/jvm/internal/SourceDebugExtension;( value: #{ SMAP
finallyMarkers.kt
Kotlin
*S Kotlin
*F
+ 1 finallyMarkers.kt
FinallyMarkersKt$test$3
+ 2 finallyMarkers.kt
FinallyMarkersKt
*L
1#1,28:1
17#2,4:29
*E
} )
@@ -1,4 +1,3 @@
// JVM_ABI_K1_K2_DIFF: KT-62464
inline fun test(crossinline l: () -> String) {
{
@@ -1,33 +0,0 @@
MODULE main
CLASS Kt48367Kt$flaf$$inlined$bar$1.class
Annotation: class.invisibleAnnotations
K1
@Lkotlin/jvm/internal/SourceDebugExtension;( value: #{ SMAP
kt48367.kt
Kotlin
*S Kotlin
*F
+ 1 kt48367.kt
Kt48367Kt$bar$1
+ 2 kt48367.kt
Kt48367Kt
*L
1#1,23:1
9#2,2:24
*E
} )
K2
@Lkotlin/jvm/internal/SourceDebugExtension;( value: #{ SMAP
kt48367.kt
Kotlin
*S Kotlin
*F
+ 1 kt48367.kt
Kt48367Kt$bar$1
+ 2 kt48367.kt
Kt48367Kt
*L
1#1,23:1
9#2,3:24
*E
} )
-1
View File
@@ -1,4 +1,3 @@
// JVM_ABI_K1_K2_DIFF: KT-62464
fun foo(block: () -> String): String = block()
inline fun bar(crossinline f: () -> String) = foo { f() }