blob: 7d157b884c028241912fc8b2afc2787e649fd028 [file]
// TARGET_BACKEND: JVM_IR
// IGNORE_BACKEND_K1: JVM_IR
// Field VS property: case "reference", protected field in the same package, invisible property
// FILE: BaseJava.java
package base;
public class BaseJava {
protected String a = "";
}
// FILE: Derived.kt
package derived
import base.BaseJava
open class Intermediate : BaseJava() {
private val a = "FAIL"
}
// TODO: remove suppress after dropping the relevant diagnostic
@Suppress("JAVA_SHADOWED_PROTECTED_FIELD_REFERENCE")
class Derived : Intermediate() {
fun foo() = this::a.get()
fun bar() {
Derived::a.set(this, "OK")
}
}
fun box(): String {
val d = Derived()
d.bar()
return d.foo()
}