[kotlin] "Redundant visibility modifier": remove redundant primary constructor

^KTIJ-28874 Fixed

GitOrigin-RevId: 82d9cf91479d6ef26a18551e035468bb3d2b71e6
This commit is contained in:
Alexey Belkov
2024-02-22 20:37:51 +00:00
committed by intellij-monorepo-bot
parent 669b5084c8
commit 340dedf910
7 changed files with 23 additions and 1 deletions
@@ -9,11 +9,13 @@ import com.intellij.openapi.project.Project
import com.intellij.psi.PsiElementVisitor
import com.intellij.psi.tree.TokenSet
import org.jetbrains.kotlin.analysis.api.diagnostics.KtDiagnosticWithPsi
import org.jetbrains.kotlin.idea.base.psi.isRedundant
import org.jetbrains.kotlin.idea.base.resources.KotlinBundle
import org.jetbrains.kotlin.idea.codeinsight.api.applicable.inspections.AbstractKotlinApplicableDiagnosticInspectionWithContext
import org.jetbrains.kotlin.lexer.KtModifierKeywordToken
import org.jetbrains.kotlin.psi.KtDeclaration
import org.jetbrains.kotlin.psi.KtModifierListOwner
import org.jetbrains.kotlin.psi.KtPrimaryConstructor
import org.jetbrains.kotlin.psi.KtVisitorVoid
abstract class RedundantModifierInspectionBase<DIAGNOSTIC : KtDiagnosticWithPsi<KtModifierListOwner>>(
@@ -40,5 +42,8 @@ abstract class RedundantModifierInspectionBase<DIAGNOSTIC : KtDiagnosticWithPsi<
override fun apply(element: KtModifierListOwner, context: ModifierContext, project: Project, updater: ModPsiUpdater) {
element.removeModifier(context.modifier)
if (element is KtPrimaryConstructor && element.isRedundant()) {
element.delete()
}
}
}
@@ -172,6 +172,11 @@ public abstract class K2LocalInspectionTestGenerated extends AbstractK2LocalInsp
public void testPublicOverrideProtectedSetter6() throws Exception {
runTest("../../../idea/tests/testData/inspectionsLocal/redundantVisibilityModifier/publicOverrideProtectedSetter6.kt");
}
@TestMetadata("removeRedundantPrimaryConstructor.kt")
public void testRemoveRedundantPrimaryConstructor() throws Exception {
runTest("../../../idea/tests/testData/inspectionsLocal/redundantVisibilityModifier/removeRedundantPrimaryConstructor.kt");
}
}
@RunWith(JUnit3RunnerWithInners.class)
@@ -11,6 +11,7 @@ import com.intellij.psi.PsiFile
import com.intellij.psi.PsiNameIdentifierOwner
import com.intellij.psi.util.PsiTreeUtil
import org.jetbrains.annotations.Nls
import org.jetbrains.kotlin.idea.base.psi.isRedundant
import org.jetbrains.kotlin.idea.base.resources.KotlinBundle
import org.jetbrains.kotlin.idea.codeinsight.api.classic.quickfixes.QuickFixesPsiBasedFactory
import org.jetbrains.kotlin.idea.codeinsight.api.classic.quickfixes.coMap
@@ -53,6 +54,10 @@ open class RemoveModifierFixBase(
operator fun invoke() {
element?.removeModifier(modifier)
val element = element
if (element is KtPrimaryConstructor && element.isRedundant()) {
element.delete()
}
}
companion object {
@@ -10859,6 +10859,11 @@ public abstract class LocalInspectionTestGenerated extends AbstractLocalInspecti
public void testPublicOverrideProtectedSetter6() throws Exception {
runTest("testData/inspectionsLocal/redundantVisibilityModifier/publicOverrideProtectedSetter6.kt");
}
@TestMetadata("removeRedundantPrimaryConstructor.kt")
public void testRemoveRedundantPrimaryConstructor() throws Exception {
runTest("testData/inspectionsLocal/redundantVisibilityModifier/removeRedundantPrimaryConstructor.kt");
}
}
@RunWith(JUnit3RunnerWithInners.class)
@@ -0,0 +1 @@
private class C <caret>internal constructor()
@@ -1,6 +1,6 @@
// "Make 'abstract()' not abstract" "true"
class A() {
class A {
}