bb1a12e28e
The owner should always be the facade class, because the part class is package-private and will be inaccessible from other package. Note that in the old backend, function references already do have the facade as the owner correctly, but property references don't, this is reported as KT-37972.
38 lines
663 B
Kotlin
Vendored
38 lines
663 B
Kotlin
Vendored
// TARGET_BACKEND: JVM
|
|
// TODO: KT-37972 IllegalAccessError on initializing property reference for a property declared in JvmMultifileClass with -Xmultifile-parts-inherit
|
|
// IGNORE_BACKEND: JVM
|
|
// WITH_RUNTIME
|
|
// !INHERIT_MULTIFILE_PARTS
|
|
// FILE: box.kt
|
|
|
|
import a.propRefA
|
|
import b.propRefB
|
|
|
|
fun box(): String {
|
|
if (propRefA != propRefB) return "Fail: propRefA != propRefB"
|
|
return "OK"
|
|
}
|
|
|
|
// FILE: a.kt
|
|
|
|
package a
|
|
|
|
import test.property
|
|
|
|
val propRefA = ::property
|
|
|
|
// FILE: b.kt
|
|
|
|
package b
|
|
|
|
import test.property
|
|
|
|
val propRefB = ::property
|
|
|
|
// FILE: part.kt
|
|
|
|
@file:[JvmName("MultifileClass") JvmMultifileClass]
|
|
package test
|
|
|
|
val property: String get() = ""
|