"Redundant visibility modifier" inspection: don't report for property getter

#KT-32347 Fixed
This commit is contained in:
Toshiaki Kameyama
2019-07-05 00:03:40 +09:00
committed by Dmitry Gridin
parent a96a938f87
commit 64780293d3
4 changed files with 11 additions and 0 deletions
@@ -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 {
@@ -0,0 +1,2 @@
// "Remove redundant 'public' modifier" "true"
val a <caret>public get() = 0
@@ -0,0 +1,2 @@
// "Remove redundant 'public' modifier" "true"
val a get() = 0
@@ -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");