PSI/FIR->IR translators: return to 1.7.10 behavior for field references

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
This commit is contained in:
Mikhail Glukhikh
2022-10-21 16:08:56 +02:00
committed by Space Team
parent 14213ddad2
commit c0789b5207
20 changed files with 62 additions and 157 deletions
@@ -0,0 +1,18 @@
// 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()