[JS IR] Emit original names for local vars to sourcemaps

#KT-35655 Fixed
This commit is contained in:
Sergej Jaskiewicz
2022-11-01 19:19:25 +01:00
committed by Space Team
parent 8efa72ca36
commit 7b7c517dbb
114 changed files with 1970 additions and 376 deletions
@@ -9,10 +9,16 @@ suspend fun box() {
A().foo()
}
// EXPECTATIONS
// EXPECTATIONS JVM JVM_IR
// test.kt:9 box: $completion:kotlin.coroutines.Continuation=Generated_Box_MainKt$main$1
// test.kt:4 <init>:
// test.kt:9 box: $completion:kotlin.coroutines.Continuation=Generated_Box_MainKt$main$1
// test.kt:5 foo: $completion:kotlin.coroutines.Continuation=Generated_Box_MainKt$main$1
// test.kt:9 box: $completion:kotlin.coroutines.Continuation=Generated_Box_MainKt$main$1
// test.kt:10 box: $completion:kotlin.coroutines.Continuation=Generated_Box_MainKt$main$1
// EXPECTATIONS JS_IR
// test.kt:9 box: $completion=EmptyContinuation
// test.kt:4 <init>:
// test.kt:9 box: $completion=EmptyContinuation
// test.kt:5 foo: $completion=EmptyContinuation
@@ -14,7 +14,7 @@ suspend fun box() {
A().foo1(42)
}
// EXPECTATIONS
// EXPECTATIONS JVM JVM_IR
// test.kt:14 box: $completion:kotlin.coroutines.Continuation=Generated_Box_MainKt$main$1
// test.kt:4 <init>:
// test.kt:14 box: $completion:kotlin.coroutines.Continuation=Generated_Box_MainKt$main$1
@@ -29,3 +29,15 @@ suspend fun box() {
// test.kt:10 foo1: $continuation:kotlin.coroutines.Continuation=A$foo1$1, $result:java.lang.Object=null, l:long=42:long
// test.kt:14 box: $completion:kotlin.coroutines.Continuation=Generated_Box_MainKt$main$1
// test.kt:15 box: $completion:kotlin.coroutines.Continuation=Generated_Box_MainKt$main$1
// EXPECTATIONS JS_IR
// test.kt:14 box: $completion=EmptyContinuation
// test.kt:4 <init>:
// test.kt:14 box: $completion=EmptyContinuation
// test.kt:14 box: $completion=EmptyContinuation
// test.kt:7 doResume:
// test.kt:5 foo: $completion=$foo1COROUTINE$0
// test.kt:8 doResume:
// test.kt:5 foo: $completion=$foo1COROUTINE$0
// test.kt:9 doResume:
// test.kt:10 doResume: dead=kotlin.Long
@@ -4,5 +4,8 @@
suspend fun box() {}
// EXPECTATIONS
// EXPECTATIONS JVM JVM_IR
// test.kt:4 box: $completion:kotlin.coroutines.Continuation=Generated_Box_MainKt$main$1
// EXPECTATIONS JS_IR
// test.kt:4 box: $completion=EmptyContinuation
@@ -10,10 +10,16 @@ suspend fun box() {
}
// EXPECTATIONS
// EXPECTATIONS JVM JVM_IR
// test.kt:9 box: $completion:kotlin.coroutines.Continuation=Generated_Box_MainKt$main$1
// test.kt:4 <init>:
// test.kt:9 box: $completion:kotlin.coroutines.Continuation=Generated_Box_MainKt$main$1
// test.kt:6 foo: $this$foo:A=A, $completion:kotlin.coroutines.Continuation=Generated_Box_MainKt$main$1
// test.kt:9 box: $completion:kotlin.coroutines.Continuation=Generated_Box_MainKt$main$1
// test.kt:10 box: $completion:kotlin.coroutines.Continuation=Generated_Box_MainKt$main$1
// EXPECTATIONS JS_IR
// test.kt:9 box: $completion=EmptyContinuation
// test.kt:4 <init>:
// test.kt:9 box: $completion=EmptyContinuation
// test.kt:6 foo: <this>=A, $completion=EmptyContinuation
@@ -12,7 +12,7 @@ suspend fun box() {
foo1(42)
}
// EXPECTATIONS
// EXPECTATIONS JVM JVM_IR
// test.kt:12 box: $completion:kotlin.coroutines.Continuation=Generated_Box_MainKt$main$1
// test.kt:5 foo1:
// test.kt:6 foo1: $continuation:kotlin.coroutines.Continuation=TestKt$foo1$1, $result:java.lang.Object=null, l:long=42:long
@@ -25,3 +25,13 @@ suspend fun box() {
// test.kt:9 foo1: $continuation:kotlin.coroutines.Continuation=TestKt$foo1$1, $result:java.lang.Object=null, l:long=42:long
// test.kt:12 box: $completion:kotlin.coroutines.Continuation=Generated_Box_MainKt$main$1
// test.kt:13 box: $completion:kotlin.coroutines.Continuation=Generated_Box_MainKt$main$1
// EXPECTATIONS JS_IR
// test.kt:12 box: $completion=EmptyContinuation
// test.kt:12 box: $completion=EmptyContinuation
// test.kt:6 doResume:
// test.kt:4 foo: $completion=$foo1COROUTINE$0
// test.kt:7 doResume:
// test.kt:4 foo: $completion=$foo1COROUTINE$0
// test.kt:8 doResume:
// test.kt:9 doResume: dead=kotlin.Long
@@ -16,7 +16,7 @@ suspend fun box() {
// The lambda object constructor has a local variables table on the IR backend.
// EXPECTATIONS
// EXPECTATIONS JVM JVM_IR
// test.kt:14 box: $completion:kotlin.coroutines.Continuation=Generated_Box_MainKt$main$1
// test.kt:4 <init>:
// test.kt:14 box: $completion:kotlin.coroutines.Continuation=Generated_Box_MainKt$main$1
@@ -31,3 +31,15 @@ suspend fun box() {
// test.kt:11 foo1: $continuation:kotlin.coroutines.Continuation=TestKt$foo1$1, $result:java.lang.Object=null, l:long=42:long
// test.kt:14 box: $completion:kotlin.coroutines.Continuation=Generated_Box_MainKt$main$1
// test.kt:15 box: $completion:kotlin.coroutines.Continuation=Generated_Box_MainKt$main$1
// EXPECTATIONS JS_IR
// test.kt:14 box: $completion=EmptyContinuation
// test.kt:4 <init>:
// test.kt:14 box: $completion=EmptyContinuation
// test.kt:14 box: $completion=EmptyContinuation
// test.kt:8 doResume:
// test.kt:6 foo: <this>=A, $completion=$foo1COROUTINE$0
// test.kt:9 doResume:
// test.kt:6 foo: <this>=A, $completion=$foo1COROUTINE$0
// test.kt:10 doResume:
// test.kt:11 doResume: dead=kotlin.Long
@@ -18,7 +18,7 @@ suspend fun box() {
hasLocal()
}
// EXPECTATIONS
// EXPECTATIONS JVM JVM_IR
// test.kt:10 box:
// test.kt:12 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null
// test.kt:8 h: $completion:kotlin.coroutines.Continuation=TestKt$box$1
@@ -31,3 +31,12 @@ suspend fun box() {
// test.kt:4 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null, $i$f$hasLocal:int=0:int
// test.kt:5 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null, $i$f$hasLocal:int=0:int, x$iv:int=41:int
// test.kt:19 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null
// EXPECTATIONS JS_IR
// test.kt:12 doResume:
// test.kt:8 h: $completion=$boxCOROUTINE$0
// test.kt:4 doResume:
// test.kt:5 doResume: x=41:number
// test.kt:4 doResume: x=41:number
// test.kt:5 doResume: x=41:number, x=41:number
// test.kt:19 doResume: x=41:number, x=41:number
@@ -20,7 +20,7 @@ suspend fun box() {
}
}
// EXPECTATIONS
// EXPECTATIONS JVM JVM_IR
// test.kt:10 box:
// test.kt:12 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null
// test.kt:6 h: $completion:kotlin.coroutines.Continuation=TestKt$box$1
@@ -45,3 +45,32 @@ suspend fun box() {
// test.kt:19 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null, x:int=1:int
// test.kt:18 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null, x:int=1:int
// test.kt:21 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null
// EXPECTATIONS JS_IR
// test.kt:12 doResume:
// test.kt:6 h: $completion=$boxCOROUTINE$0
// test.kt:13 doResume:
// test.kt:13 doResume:
// test.kt:13 doResume:
// test.kt:13 doResume: x=0:number
// test.kt:14 doResume: x=0:number
// test.kt:8 f: x=0:number
// test.kt:13 doResume: x=0:number
// test.kt:13 doResume: x=0:number
// test.kt:13 doResume: x=1:number
// test.kt:14 doResume: x=1:number
// test.kt:8 f: x=1:number
// test.kt:13 doResume: x=1:number
// test.kt:18 doResume: x=1:number
// test.kt:18 doResume: x=1:number
// test.kt:18 doResume: x=1:number
// test.kt:18 doResume: x=1:number, x=0:number
// test.kt:19 doResume: x=1:number, x=0:number
// test.kt:8 f: x=0:number
// test.kt:18 doResume: x=1:number, x=0:number
// test.kt:18 doResume: x=1:number, x=0:number
// test.kt:18 doResume: x=1:number, x=1:number
// test.kt:19 doResume: x=1:number, x=1:number
// test.kt:8 f: x=1:number
// test.kt:18 doResume: x=1:number, x=1:number
// test.kt:21 doResume: x=1:number, x=1:number
+22 -2
View File
@@ -26,14 +26,16 @@ suspend fun box() {
val a = suspendBar()
}
// EXPECTATIONS
// FIXME(JS_IR): KT-54657
// EXPECTATIONS JVM JVM_IR
// test.kt:25 box:
// test.kt:26 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null
// test.kt:19 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null, $i$f$suspendBar:int=0:int
// EXPECTATIONS JVM
// test.kt:19 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null, $i$f$suspendBar:int=0:int
// test.kt:14 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null, $i$f$suspendBar:int=0:int, $this$extensionFun$iv$iv:AtomicInt=AtomicInt, $i$f$extensionFun:int=0:int
// EXPECTATIONS
// EXPECTATIONS JVM JVM_IR
// test.kt:14 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null, $i$f$suspendBar:int=0:int, $this$extensionFun$iv$iv:AtomicInt=AtomicInt, $i$f$extensionFun:int=0:int
// test.kt:15 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null, $i$f$suspendBar:int=0:int, $this$extensionFun$iv$iv:AtomicInt=AtomicInt, $i$f$extensionFun:int=0:int
// test.kt:6 getValue:
@@ -46,3 +48,21 @@ suspend fun box() {
// test.kt:23 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null, $i$f$suspendBar:int=0:int
// test.kt:26 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null
// test.kt:27 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null
// EXPECTATIONS JS_IR
// test.kt:19 doResume:
// test.kt:10 <init properties test.kt>:
// test.kt:8 atomic: i=0:number
// test.kt:6 <init>: value=0:number
// test.kt:6 <init>: value=0:number
// test.kt:11 <init properties test.kt>:
// test.kt:10 <get-state>$accessor$1gle43a:
// test.kt:10 <get-state>:
// test.kt:14 doResume:
// test.kt:11 <get-a>$accessor$1gle43a:
// test.kt:11 <get-a>:
// test.kt:37 doResume:
// test.kt:37 doResume:
// test.kt:37 doResume:
// test.kt:26 doResume:
// test.kt:27 doResume: a=Unit
+5 -1
View File
@@ -5,6 +5,10 @@ suspend fun box() {
var x = 1
}
// EXPECTATIONS
// EXPECTATIONS JVM JVM_IR
// test.kt:5 box: $completion:kotlin.coroutines.Continuation=Generated_Box_MainKt$main$1
// test.kt:6 box: $completion:kotlin.coroutines.Continuation=Generated_Box_MainKt$main$1, x:int=1:int
// EXPECTATIONS JS_IR
// test.kt:5 box: $completion=EmptyContinuation
// test.kt:6 box: $completion=EmptyContinuation, x=1:number
@@ -13,33 +13,41 @@ suspend fun box() = foo(A()) { (x_param, _, y_param) ->
x_param + y_param
}
// EXPECTATIONS
// EXPECTATIONS JVM JVM_IR
// test.kt:12 box: $completion:kotlin.coroutines.Continuation=Generated_Box_MainKt$main$1
// test.kt:4 <init>:
// test.kt:12 box: $completion:kotlin.coroutines.Continuation=Generated_Box_MainKt$main$1
// test.kt:10 foo: a:A=A, block:kotlin.jvm.functions.Function2=TestKt$box$2, $completion:kotlin.coroutines.Continuation=Generated_Box_MainKt$main$1
// test.kt:5 component1:
// EXPECTATIONS JVM
// test.kt:12 invokeSuspend: $result:java.lang.Object=kotlin.Unit, $dstr$x_param$_u24__u24$y_param:A=A
// EXPECTATIONS JVM_IR
// test.kt:12 invokeSuspend: $result:java.lang.Object=kotlin.Unit
// EXPECTATIONS
// EXPECTATIONS JVM JVM_IR
// test.kt:7 component3:
// EXPECTATIONS JVM_IR
// test.kt:12 invokeSuspend: $result:java.lang.Object=kotlin.Unit, x_param:java.lang.String="O":java.lang.String
// test.kt:13 invokeSuspend: $result:java.lang.Object=kotlin.Unit, x_param:java.lang.String="O":java.lang.String, y_param:java.lang.String="K":java.lang.String
// EXPECTATIONS JVM
// test.kt:12 invokeSuspend: $result:java.lang.Object=kotlin.Unit, $dstr$x_param$_u24__u24$y_param:A=A
// test.kt:13 invokeSuspend: $result:java.lang.Object=kotlin.Unit, $dstr$x_param$_u24__u24$y_param:A=A, x_param:java.lang.String="O":java.lang.String, y_param:java.lang.String="K":java.lang.String
// EXPECTATIONS JVM_IR
// test.kt:-1 invoke: p1:A=A, p2:kotlin.coroutines.Continuation=Generated_Box_MainKt$main$1
// EXPECTATIONS JVM
// test.kt:-1 invoke:
// EXPECTATIONS
// EXPECTATIONS JVM JVM_IR
// test.kt:10 foo: a:A=A, block:kotlin.jvm.functions.Function2=TestKt$box$2, $completion:kotlin.coroutines.Continuation=Generated_Box_MainKt$main$1
// test.kt:14 box: $completion:kotlin.coroutines.Continuation=Generated_Box_MainKt$main$1
// EXPECTATIONS JS_IR
// test.kt:12 box: $completion=EmptyContinuation
// test.kt:4 <init>:
// test.kt:12 box: $completion=EmptyContinuation
// test.kt:12 box$slambda:
// test.kt:12 box: $completion=EmptyContinuation
// test.kt:10 foo: a=A, block=Function2, $completion=EmptyContinuation
// test.kt:12 doResume:
// test.kt:5 component1:
// test.kt:12 doResume: x_param="O":kotlin.String
// test.kt:7 component3:
// test.kt:13 doResume: x_param="O":kotlin.String, y_param="K":kotlin.String