// TARGET_BACKEND: JVM // IGNORE_BACKEND_K1: JVM, JVM_IR // FILE: J.java public class J extends D {} // FILE: JOverridesRegular.java public class JOverridesRegular extends D { @Override public int getA() { return 1; } } // FILE: JOverridesExtension.java public class JOverridesExtension extends D { @Override public int getA(String $this) { return 1; } } // FILE: JOVerridesBoth.java public class JOVerridesBoth extends D { @Override public int getA() { return 1; } @Override public int getA(String $this) { return 1; } } // FILE: 1.kt open class D { open val a: Int get() = 2 open val String.a: Int get() = 1 } class F : J() { fun test() { a "".a } } class F2 : JOverridesRegular() { fun test() { a "".a } } class F3 : JOverridesExtension() { fun test() { a "".a } } class F4 : JOVerridesBoth() { fun test() { a "".a } } fun box(): String { F().test() F2().test() F3().test() F4().test() return "OK" }