[JVM IR] Add tests to verify correct parameter reflection metadata for

suspend functions.
This commit is contained in:
Mark Punzalan
2020-02-05 16:00:00 -08:00
committed by Ilmir Usmanov
parent 06408011f0
commit 8cdef13537
7 changed files with 84 additions and 5 deletions
@@ -0,0 +1,25 @@
// IGNORE_BACKEND_FIR: JVM_IR
// SKIP_JDK6
// TARGET_BACKEND: JVM
// WITH_RUNTIME
// FULL_JDK
// KOTLIN_CONFIGURATION_FLAGS: +JVM.PARAMETERS_METADATA
// COMMON_COROUTINES_TEST
import COROUTINES_PACKAGE.*
import COROUTINES_PACKAGE.intrinsics.*
class A() {
suspend fun test(OK: String) {
}
}
fun box(): String {
val clazz = A::class.java
val method = clazz.getDeclaredMethod("test", String::class.java, Continuation::class.java)
val parameters = method.getParameters()
if (parameters[0].modifiers != 0) return "wrong modifier on value parameter: ${parameters[0].modifiers}"
if (parameters[1].modifiers != 0) return "wrong modifier on Continuation parameter: ${parameters[1].modifiers}"
return parameters[0].name
}