diff --git a/idea/src/org/jetbrains/kotlin/idea/inspections/RedundantSetterInspection.kt b/idea/src/org/jetbrains/kotlin/idea/inspections/RedundantSetterInspection.kt index 9a69b87bcba..f166a69d9f1 100644 --- a/idea/src/org/jetbrains/kotlin/idea/inspections/RedundantSetterInspection.kt +++ b/idea/src/org/jetbrains/kotlin/idea/inspections/RedundantSetterInspection.kt @@ -42,6 +42,7 @@ class RedundantSetterInspection : AbstractKotlinInspection(), CleanupLocalInspec private fun KtPropertyAccessor.isRedundantSetter(): Boolean { if (!isSetter) return false if (annotationEntries.isNotEmpty()) return false + if (property.hasModifier(KtTokens.OVERRIDE_KEYWORD)) return false if (hasLowerVisibilityThanProperty()) return false val expression = bodyExpression ?: return true if (expression is KtBlockExpression) { diff --git a/idea/testData/inspectionsLocal/redundantSetter/override.kt b/idea/testData/inspectionsLocal/redundantSetter/override.kt new file mode 100644 index 00000000000..a3279967c12 --- /dev/null +++ b/idea/testData/inspectionsLocal/redundantSetter/override.kt @@ -0,0 +1,9 @@ +// PROBLEM: none +interface A { + var myVar: Boolean +} + +class X : A { + override var myVar: Boolean = false + set(value) {} +} \ No newline at end of file diff --git a/idea/tests/org/jetbrains/kotlin/idea/inspections/LocalInspectionTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/inspections/LocalInspectionTestGenerated.java index 5ce7befa2e5..ead270650bf 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/inspections/LocalInspectionTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/inspections/LocalInspectionTestGenerated.java @@ -2897,6 +2897,12 @@ public class LocalInspectionTestGenerated extends AbstractLocalInspectionTest { doTest(fileName); } + @TestMetadata("override.kt") + public void testOverride() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/inspectionsLocal/redundantSetter/override.kt"); + doTest(fileName); + } + @TestMetadata("sameVisibility1.kt") public void testSameVisibility1() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("idea/testData/inspectionsLocal/redundantSetter/sameVisibility1.kt");