[Test] Port checkVariableTable suspend lambda tests
Reveals discrepancy in LVT presence on lambda implementations on the
old and new backend.
The generated code in the constructors of Suspend Lambda objects is
identical, but the IR backend generates an LVT with the constructor
parameters.
The user has to be very insistent to see this ("for step into" +
disabling "Show only kotlin variables"), but it is an observable
difference.
This commit is contained in:
committed by
Alexander Udalov
parent
82abc80215
commit
77836f1aa9
-9
@@ -1,9 +0,0 @@
|
||||
// WITH_RUNTIME
|
||||
|
||||
class A {
|
||||
suspend fun foo() {}
|
||||
}
|
||||
|
||||
// METHOD : A.foo(Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||
// VARIABLE : NAME=this TYPE=LA; INDEX=0
|
||||
// VARIABLE : NAME=$completion TYPE=Lkotlin/coroutines/Continuation; INDEX=1
|
||||
Vendored
-16
@@ -1,16 +0,0 @@
|
||||
// WITH_RUNTIME
|
||||
|
||||
class A {
|
||||
suspend fun foo() {}
|
||||
suspend fun foo1(l: Long) {
|
||||
foo()
|
||||
foo()
|
||||
val dead = l
|
||||
}
|
||||
}
|
||||
|
||||
// METHOD : A.foo1(JLkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||
// VARIABLE : NAME=this TYPE=LA; INDEX=0
|
||||
// VARIABLE : NAME=l TYPE=J INDEX=1
|
||||
// VARIABLE : NAME=$continuation TYPE=Lkotlin/coroutines/Continuation; INDEX=7
|
||||
// VARIABLE : NAME=$result TYPE=Ljava/lang/Object; INDEX=6
|
||||
-6
@@ -1,6 +0,0 @@
|
||||
// WITH_RUNTIME
|
||||
|
||||
suspend fun foo() {}
|
||||
|
||||
// METHOD : StaticSimpleKt.foo(Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||
// VARIABLE : NAME=$completion TYPE=Lkotlin/coroutines/Continuation; INDEX=0
|
||||
Vendored
-9
@@ -1,9 +0,0 @@
|
||||
// WITH_RUNTIME
|
||||
|
||||
class A
|
||||
|
||||
suspend fun A.foo() {}
|
||||
|
||||
// METHOD : StaticSimpleReceiverKt.foo(LA;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||
// VARIABLE : NAME=$this$foo TYPE=LA; INDEX=0
|
||||
// VARIABLE : NAME=$completion TYPE=Lkotlin/coroutines/Continuation; INDEX=1
|
||||
Vendored
-13
@@ -1,13 +0,0 @@
|
||||
// WITH_RUNTIME
|
||||
|
||||
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=$continuation TYPE=Lkotlin/coroutines/Continuation; INDEX=6
|
||||
// VARIABLE : NAME=$result TYPE=Ljava/lang/Object; INDEX=5
|
||||
compiler/testData/checkLocalVariablesTable/completionInSuspendFunction/staticStateMachineReceiver.kt
Vendored
-16
@@ -1,16 +0,0 @@
|
||||
// WITH_RUNTIME
|
||||
|
||||
class A
|
||||
|
||||
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=$continuation TYPE=Lkotlin/coroutines/Continuation; INDEX=7
|
||||
// VARIABLE : NAME=$result TYPE=Ljava/lang/Object; INDEX=6
|
||||
Reference in New Issue
Block a user