mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-03-10 08:31:29 +00:00
28 lines
881 B
Kotlin
Vendored
28 lines
881 B
Kotlin
Vendored
// SKIP_JDK6
|
|
// TARGET_BACKEND: JVM
|
|
// WITH_RUNTIME
|
|
// FULL_JDK
|
|
// PARAMETERS_METADATA
|
|
|
|
// FILE: A.kt
|
|
|
|
inline class A(val i: Int) {
|
|
fun foo(v: Int) = i + v
|
|
}
|
|
|
|
fun A.bar() = this.i
|
|
|
|
fun box(): String {
|
|
val method = Class.forName("A").declaredMethods.single { it.name == "foo-impl" }
|
|
val parameters = method.getParameters()
|
|
if (parameters[0].name != "arg0") return "wrong name on receiver parameter: ${parameters[0].name}"
|
|
if (parameters[1].name != "v") return "wrong name on actual parameter: ${parameters[1].name}"
|
|
|
|
val extensionMethod = Class.forName("AKt").declaredMethods.single { it.name.startsWith("bar") }
|
|
val extensionMethodParameters = extensionMethod.getParameters()
|
|
if (extensionMethodParameters[0].name != "\$this\$bar")
|
|
return "wrong name on extension receiver parameter: ${extensionMethodParameters[0].name}"
|
|
|
|
return "OK"
|
|
}
|