FIR IDE: add quickfix for NESTED_CLASS_NOT_ALLOWED

This commit is contained in:
Tianyu Geng
2021-03-03 13:43:04 -08:00
committed by Ilya Kirillov
parent 27904c0fb9
commit 8158a07063
6 changed files with 14 additions and 7 deletions
@@ -44,6 +44,10 @@ class MainKtQuickFixRegistrar : KtQuickFixRegistrar() {
KtFirDiagnostic.PrivateSetterForAbstractProperty::class, KtFirDiagnostic.PrivateSetterForAbstractProperty::class,
RemoveModifierFix.removePrivateModifier RemoveModifierFix.removePrivateModifier
) )
registerPsiQuickFixes(
KtFirDiagnostic.NestedClassNotAllowed::class,
AddModifierFix.addInnerModifier
)
} }
private val overrides = KtQuickFixesListBuilder.registerPsiQuickFix { private val overrides = KtQuickFixesListBuilder.registerPsiQuickFix {
@@ -106,13 +106,12 @@ open class AddModifierFix(
} }
companion object : Factory<AddModifierFix> { companion object : Factory<AddModifierFix> {
val addAbstractModifier: QuickFixesPsiBasedFactory<PsiElement> = AddModifierFix.createFactory(KtTokens.ABSTRACT_KEYWORD) val addAbstractModifier = AddModifierFix.createFactory(KtTokens.ABSTRACT_KEYWORD)
val addAbstractToContainingClass: QuickFixesPsiBasedFactory<PsiElement> = val addAbstractToContainingClass = AddModifierFix.createFactory(KtTokens.ABSTRACT_KEYWORD, KtClassOrObject::class.java)
AddModifierFix.createFactory(KtTokens.ABSTRACT_KEYWORD, KtClassOrObject::class.java) val addOpenToContainingClass = AddModifierFix.createFactory(KtTokens.OPEN_KEYWORD, KtClassOrObject::class.java)
val addOpenToContainingClass: QuickFixesPsiBasedFactory<PsiElement> = val addFinalToProperty = AddModifierFix.createFactory(KtTokens.FINAL_KEYWORD, KtProperty::class.java)
AddModifierFix.createFactory(KtTokens.OPEN_KEYWORD, KtClassOrObject::class.java) val addInnerModifier = createFactory(KtTokens.INNER_KEYWORD)
val addFinalToProperty: QuickFixesPsiBasedFactory<PsiElement> =
AddModifierFix.createFactory(KtTokens.FINAL_KEYWORD, KtProperty::class.java)
private val modalityModifiers: Set<KtModifierKeywordToken> = private val modalityModifiers: Set<KtModifierKeywordToken> =
setOf(KtTokens.ABSTRACT_KEYWORD, KtTokens.OPEN_KEYWORD, KtTokens.FINAL_KEYWORD) setOf(KtTokens.ABSTRACT_KEYWORD, KtTokens.OPEN_KEYWORD, KtTokens.FINAL_KEYWORD)
@@ -4,3 +4,4 @@ class A() {
abstract class <caret>C abstract class <caret>C
} }
} }
/* FIR_COMPARISON */
@@ -4,3 +4,4 @@ class A() {
abstract inner class C abstract inner class C
} }
} }
/* FIR_COMPARISON */
@@ -5,3 +5,4 @@ class A() {
} }
} }
} }
/* FIR_COMPARISON */
@@ -5,3 +5,4 @@ class A() {
} }
} }
} }
/* FIR_COMPARISON */