20c4a7b244
Now FE IR -> BE IR transformation is performed in multiple stages controller by Fir2IrConverter. Stages are * files & classes registration * supertypes & type parameters handling * functions & properties signature generation * body generation After each step we have guarantee (with exception of local classes & type inference combination, and external symbols) that required symbols (class/function/property/variable/type parameter) are already bound to real declarations and have correct parents. This commit also fixes incorrect parents for local classes
20 lines
545 B
Kotlin
Vendored
20 lines
545 B
Kotlin
Vendored
// SKIP_JDK6
|
|
// TARGET_BACKEND: JVM
|
|
// WITH_RUNTIME
|
|
// FULL_JDK
|
|
// KOTLIN_CONFIGURATION_FLAGS: +JVM.PARAMETERS_METADATA
|
|
|
|
open class A(val s: String)
|
|
|
|
fun test(OK: String) = object : A(OK) {
|
|
}
|
|
|
|
fun box(): String {
|
|
val value = test("OK")
|
|
val clazz = value.javaClass
|
|
val constructor = clazz.getDeclaredConstructors().single()
|
|
val parameters = constructor.getParameters()
|
|
|
|
if (!parameters[0].isSynthetic() || parameters[0].isImplicit()) return "wrong modifier on value parameter: ${parameters[0].modifiers}"
|
|
return value.s
|
|
} |