Inspectopedia Help

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