c0789b5207
In 1.7.20 we used the nearest Java-based receiver for such field references in backend. Now we are using use-site receiver again, it can lead to accidental usage of derived class property backing field. This is effectively a revert of KT-49507 fix, see commits: -fa914f20-b0a6508d#KT-54393 Fixed #KT-49507 Planned #KT-52338 Planned
19 lines
368 B
Kotlin
Vendored
19 lines
368 B
Kotlin
Vendored
// TARGET_BACKEND: JVM_IR
|
|
// Note: works accidentally via backing field access
|
|
// Field VS property: case 4.2
|
|
// More or less duplicates the case in KT-34943/KT-54393
|
|
|
|
// FILE: BaseJava.java
|
|
public class BaseJava {
|
|
public String a = "FAIL";
|
|
}
|
|
|
|
// FILE: Derived.kt
|
|
class Derived : BaseJava() {
|
|
private val a = "OK"
|
|
|
|
fun x() = a
|
|
}
|
|
|
|
fun box() = Derived().x()
|