Files
kotlin-fork/idea/jvm-debugger/jvm-debugger-test/testData/continuation/suspendFunWithInner.kt
T
Ilmir Usmanov 4fb5f8603a 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
2020-07-29 00:01:12 +02:00

44 lines
968 B
Kotlin
Vendored

package continuation
// ATTACH_LIBRARY: maven(org.jetbrains.kotlinx:kotlinx-coroutines-debug:1.3.8)-javaagent
import kotlinx.coroutines.runBlocking
import kotlinx.coroutines.yield
fun main() {
val mainTestVal = ""
runBlocking {
val rootCoroutineVal = mainTestVal
TestSuspendA().a()
print(rootCoroutineVal)
}
}
class TestSuspendA {
val classField = ""
suspend fun a() {
val methodVal = ""
InClassB().b()
print(methodVal)
}
class InClassB {
val inClassBField = ""
suspend fun b() {
val inClassBMethodVal = ""
InClassC().c()
print(inClassBMethodVal)
}
inner class InClassC {
val inClassCField = inClassBField
suspend fun c() {
yield()
val inClassCMethodVal = ""
//Breakpoint!
print(inClassCMethodVal)
}
}
}
}