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
22 lines
406 B
Kotlin
Vendored
22 lines
406 B
Kotlin
Vendored
// TARGET_BACKEND: JVM_IR
|
|
// IGNORE_BACKEND: JVM_IR
|
|
// IGNORE_BACKEND_FIR: JVM_IR
|
|
// FIR_STATUS: accesses companion property backing field statically and fails (does not work in K1/JVM too)
|
|
|
|
// FILE: Base.java
|
|
public class Base {
|
|
protected String TAG = "OK";
|
|
}
|
|
|
|
// FILE: Sub.kt
|
|
|
|
class Sub : Base() {
|
|
companion object {
|
|
val TAG = "FAIL"
|
|
}
|
|
|
|
fun log() = TAG
|
|
}
|
|
|
|
fun box() = Sub().log()
|