Inspectopedia Help

Extension property conflicting with synthetic one

Reports extension properties that conflict with synthetic ones that have been automatically produced from Java get or set methods.

Such properties should be either removed or renamed to avoid breaking code by future changes in the compiler.

The quick-fix deletes an extention property.

Example:

val File.name: String get() = getName()

The quick-fix adds the @Deprecated annotation:

@Deprecated("Is replaced with automatic synthetic extension", ReplaceWith("name"), level = DeprecationLevel.HIDDEN) val File.name: String get() = getName()

Inspection Details

Available in:

IntelliJ IDEA 2023.3, Qodana for JVM 2023.3

Plugin:

Kotlin, @snapshot@

Last modified: 13 July 2023