Files
kotlin-fork/compiler/testData/codegen/box/parametersMetadata/extensionFunction.kt
T
Alexander Udalov 47c48efa33 JVM IR: do not generate extension receiver parameter as ACC_MANDATED
Otherwise Java reflection is not able to load its type as a
parameterized type.

 #KT-40857 Fixed
2023-03-06 20:57:52 +00:00

23 lines
524 B
Kotlin
Vendored

// SKIP_JDK6
// TARGET_BACKEND: JVM
// IGNORE_BACKEND: JVM
// WITH_STDLIB
// FULL_JDK
// PARAMETERS_METADATA
class A() {
fun String.test(OK: String) {
}
}
fun box(): String {
val clazz = A::class.java
val method = clazz.getDeclaredMethod("test", String::class.java, String::class.java)
val parameters = method.getParameters()
if (parameters[0].isImplicit() || parameters[0].isSynthetic()) return "wrong modifier on receiver parameter: ${parameters[0].modifiers}"
return parameters[1].name
}