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:
committed by
Space Team
parent
14213ddad2
commit
c0789b5207
+18
@@ -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()
|
||||
Reference in New Issue
Block a user