Do not propagate method deprecation through overrides since 1.9
Reports a declarations that are propagated by @Deprecated
annotation that will lead to compilation error since 1.9.
Motivation types:
Implementation changes are required for implementation design/architectural reasons
Inconsistency in the design (things are done differently in different contexts)
More details: KT-47902: Do not propagate method deprecation through overrides
The quick-fix copies @Deprecated
annotation from the parent declaration.
Example:
open class Base {
@Deprecated("Don't use")
open fun foo() {}
}
class Derived : Base() {
override fun foo() {}
}
After the quick-fix is applied:
open class Base {
@Deprecated("Don't use")
open fun foo() {}
}
class Derived : Base() {
@Deprecated("Don't use")
override fun foo() {}
}
This inspection only reports if the Kotlin language level of the project or module is 1.6 or higher.
Inspection Details | |
---|---|
Available in: | IntelliJ IDEA 2023.3, Qodana for JVM 2023.3 |
Plugin: | Kotlin, @snapshot@ |
Last modified: 13 July 2023