// LANGUAGE: -StopPropagatingDeprecationThroughOverrides // FILE: JavaClass.java public class JavaClass { @Deprecated public String getFoo() { return ""; } public void setFoo(String x) {} } // FILE: main.kt open class KotlinClass : JavaClass() { @Deprecated("") override fun getFoo(): String { return super.getFoo() } override fun setFoo(x: String?) { super.setFoo(x) } } class KotlinSubClass : KotlinClass() { override fun getFoo(): String { return super.getFoo() } override fun setFoo(x: String?) { super.setFoo(x) } } fun main(j: JavaClass, k: KotlinClass, ks: KotlinSubClass) { j.getFoo() j.setFoo("") j.foo j.foo = "" k.getFoo() k.setFoo("") k.foo k.foo = "" ks.getFoo() ks.setFoo("") ks.foo ks.foo = "" }