Keep $continuation in LVT

in case of suspend functions and `this` is case of lambdas, since they
are used in async stack trace generation.
Update tests.
 #KT-40661 Open
This commit is contained in:
Ilmir Usmanov
2020-07-28 12:49:38 +02:00
parent db40808186
commit 4fb5f8603a
23 changed files with 128 additions and 104 deletions
@@ -5,6 +5,7 @@ class A {
suspend fun foo1(l: Long) {
foo()
foo()
val dead = l
}
}
@@ -12,5 +13,5 @@ class A {
// VARIABLE : NAME=this TYPE=LA; INDEX=0
// VARIABLE : NAME=l TYPE=J INDEX=1
// VARIABLE : NAME=$completion TYPE=Lkotlin/coroutines/Continuation; INDEX=3
// VARIABLE : NAME=$continuation TYPE=Lkotlin/coroutines/Continuation; INDEX=5
// VARIABLE : NAME=$result TYPE=Ljava/lang/Object; INDEX=4
// VARIABLE : NAME=$continuation TYPE=Lkotlin/coroutines/Continuation; INDEX=7
// VARIABLE : NAME=$result TYPE=Ljava/lang/Object; INDEX=6
@@ -4,10 +4,11 @@ suspend fun foo() {}
suspend fun foo1(l: Long) {
foo()
foo()
val dead = l
}
// METHOD : StaticStateMachineKt.foo1(JLkotlin/coroutines/Continuation;)Ljava/lang/Object;
// VARIABLE : NAME=l TYPE=J INDEX=0
// VARIABLE : NAME=$completion TYPE=Lkotlin/coroutines/Continuation; INDEX=2
// VARIABLE : NAME=$continuation TYPE=Lkotlin/coroutines/Continuation; INDEX=4
// VARIABLE : NAME=$result TYPE=Ljava/lang/Object; INDEX=3
// VARIABLE : NAME=$continuation TYPE=Lkotlin/coroutines/Continuation; INDEX=6
// VARIABLE : NAME=$result TYPE=Ljava/lang/Object; INDEX=5
@@ -6,11 +6,12 @@ suspend fun A.foo() {}
suspend fun A.foo1(l: Long) {
foo()
foo()
val dead = l
}
// METHOD : StaticStateMachineReceiverKt.foo1(LA;JLkotlin/coroutines/Continuation;)Ljava/lang/Object;
// VARIABLE : NAME=$this$foo1 TYPE=LA; INDEX=0
// VARIABLE : NAME=l TYPE=J INDEX=1
// VARIABLE : NAME=$completion TYPE=Lkotlin/coroutines/Continuation; INDEX=3
// VARIABLE : NAME=$continuation TYPE=Lkotlin/coroutines/Continuation; INDEX=5
// VARIABLE : NAME=$result TYPE=Ljava/lang/Object; INDEX=4
// VARIABLE : NAME=$continuation TYPE=Lkotlin/coroutines/Continuation; INDEX=7
// VARIABLE : NAME=$result TYPE=Ljava/lang/Object; INDEX=6