Files
kotlin-fork/compiler/testData/debug/localVariables/suspend/localsStateMachineTransform.kt
T
2022-11-09 12:35:44 +00:00

77 lines
3.6 KiB
Kotlin
Vendored

// The JVM backend does not have `x` visible in the locals table for the for loop at all.
// IGNORE_BACKEND: JVM
// WITH_STDLIB
// FILE: test.kt
suspend fun h() { }
fun f(x: Int) = x
suspend fun box() {
// Force state machine transformation.
h()
for (x in 0..1) {
f(x)
}
// Local `x` is NOT visible here.
42
for (x in 0..1) {
f(x)
}
}
// 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
// test.kt:12 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null
// test.kt:13 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null
// test.kt:14 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null, x:int=0:int
// test.kt:8 f: x:int=0:int
// test.kt:14 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null, x:int=0:int
// test.kt:13 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null, x:int=0:int
// test.kt:14 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null, x:int=1:int
// test.kt:8 f: x:int=1:int
// test.kt:14 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null, x:int=1:int
// test.kt:13 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null, x:int=1:int
// test.kt:17 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null
// test.kt:18 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, x:int=0:int
// test.kt:8 f: x:int=0:int
// test.kt:19 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null, x:int=0:int
// test.kt:18 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null, x:int=0:int
// test.kt:19 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null, x:int=1:int
// test.kt:8 f: x:int=1:int
// 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