From 64780293d3469314cd2b6052392e3aec57746350 Mon Sep 17 00:00:00 2001 From: Toshiaki Kameyama Date: Fri, 5 Jul 2019 00:03:40 +0900 Subject: [PATCH] "Redundant visibility modifier" inspection: don't report for property getter #KT-32347 Fixed --- .../inspections/RedundantVisibilityModifierInspection.kt | 2 ++ idea/testData/quickfix/redundantVisibilityModifier/getter.kt | 2 ++ .../quickfix/redundantVisibilityModifier/getter.kt.after | 2 ++ .../kotlin/idea/quickfix/QuickFixTestGenerated.java | 5 +++++ 4 files changed, 11 insertions(+) create mode 100644 idea/testData/quickfix/redundantVisibilityModifier/getter.kt create mode 100644 idea/testData/quickfix/redundantVisibilityModifier/getter.kt.after diff --git a/idea/src/org/jetbrains/kotlin/idea/inspections/RedundantVisibilityModifierInspection.kt b/idea/src/org/jetbrains/kotlin/idea/inspections/RedundantVisibilityModifierInspection.kt index d35384cdb44..b739fe7103a 100644 --- a/idea/src/org/jetbrains/kotlin/idea/inspections/RedundantVisibilityModifierInspection.kt +++ b/idea/src/org/jetbrains/kotlin/idea/inspections/RedundantVisibilityModifierInspection.kt @@ -10,6 +10,7 @@ import com.intellij.psi.PsiElementVisitor import org.jetbrains.kotlin.idea.core.implicitVisibility import org.jetbrains.kotlin.idea.quickfix.RemoveModifierFix import org.jetbrains.kotlin.lexer.KtTokens +import org.jetbrains.kotlin.psi.KtPropertyAccessor import org.jetbrains.kotlin.psi.declarationVisitor import org.jetbrains.kotlin.psi.psiUtil.containingClassOrObject import org.jetbrains.kotlin.psi.psiUtil.visibilityModifier @@ -17,6 +18,7 @@ import org.jetbrains.kotlin.psi.psiUtil.visibilityModifier class RedundantVisibilityModifierInspection : AbstractKotlinInspection(), CleanupLocalInspectionTool { override fun buildVisitor(holder: ProblemsHolder, isOnTheFly: Boolean, session: LocalInspectionToolSession): PsiElementVisitor { return declarationVisitor { declaration -> + if (declaration is KtPropertyAccessor && declaration.isGetter) return@declarationVisitor // There is a quick fix for REDUNDANT_MODIFIER_IN_GETTER val visibilityModifier = declaration.visibilityModifier() ?: return@declarationVisitor val implicitVisibility = declaration.implicitVisibility() val redundantVisibility = when { diff --git a/idea/testData/quickfix/redundantVisibilityModifier/getter.kt b/idea/testData/quickfix/redundantVisibilityModifier/getter.kt new file mode 100644 index 00000000000..9c43a51661c --- /dev/null +++ b/idea/testData/quickfix/redundantVisibilityModifier/getter.kt @@ -0,0 +1,2 @@ +// "Remove redundant 'public' modifier" "true" +val a public get() = 0 \ No newline at end of file diff --git a/idea/testData/quickfix/redundantVisibilityModifier/getter.kt.after b/idea/testData/quickfix/redundantVisibilityModifier/getter.kt.after new file mode 100644 index 00000000000..4afc5d99aa5 --- /dev/null +++ b/idea/testData/quickfix/redundantVisibilityModifier/getter.kt.after @@ -0,0 +1,2 @@ +// "Remove redundant 'public' modifier" "true" +val a get() = 0 \ No newline at end of file diff --git a/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java index e4409223209..9055cf543b2 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java @@ -9978,6 +9978,11 @@ public class QuickFixTestGenerated extends AbstractQuickFixTest { KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/redundantVisibilityModifier"), Pattern.compile("^([\\w\\-_]+)\\.kt$"), TargetBackend.ANY, true); } + @TestMetadata("getter.kt") + public void testGetter() throws Exception { + runTest("idea/testData/quickfix/redundantVisibilityModifier/getter.kt"); + } + @TestMetadata("simple.kt") public void testSimple() throws Exception { runTest("idea/testData/quickfix/redundantVisibilityModifier/simple.kt");