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,
RemoveModifierFix.removePrivateModifier
)
registerPsiQuickFixes(
KtFirDiagnostic.NestedClassNotAllowed::class,
AddModifierFix.addInnerModifier
)
}
private val overrides = KtQuickFixesListBuilder.registerPsiQuickFix {
@@ -106,13 +106,12 @@ open class AddModifierFix(
}
companion object : Factory<AddModifierFix> {
val addAbstractModifier: QuickFixesPsiBasedFactory<PsiElement> = AddModifierFix.createFactory(KtTokens.ABSTRACT_KEYWORD)
val addAbstractToContainingClass: QuickFixesPsiBasedFactory<PsiElement> =
AddModifierFix.createFactory(KtTokens.ABSTRACT_KEYWORD, KtClassOrObject::class.java)
val addOpenToContainingClass: QuickFixesPsiBasedFactory<PsiElement> =
AddModifierFix.createFactory(KtTokens.OPEN_KEYWORD, KtClassOrObject::class.java)
val addFinalToProperty: QuickFixesPsiBasedFactory<PsiElement> =
AddModifierFix.createFactory(KtTokens.FINAL_KEYWORD, KtProperty::class.java)
val addAbstractModifier = AddModifierFix.createFactory(KtTokens.ABSTRACT_KEYWORD)
val addAbstractToContainingClass = AddModifierFix.createFactory(KtTokens.ABSTRACT_KEYWORD, KtClassOrObject::class.java)
val addOpenToContainingClass = AddModifierFix.createFactory(KtTokens.OPEN_KEYWORD, KtClassOrObject::class.java)
val addFinalToProperty = AddModifierFix.createFactory(KtTokens.FINAL_KEYWORD, KtProperty::class.java)
val addInnerModifier = createFactory(KtTokens.INNER_KEYWORD)
private val modalityModifiers: Set<KtModifierKeywordToken> =
setOf(KtTokens.ABSTRACT_KEYWORD, KtTokens.OPEN_KEYWORD, KtTokens.FINAL_KEYWORD)
@@ -4,3 +4,4 @@ class A() {
abstract class <caret>C
}
}
/* FIR_COMPARISON */
@@ -4,3 +4,4 @@ class A() {
abstract inner class C
}
}
/* FIR_COMPARISON */
@@ -5,3 +5,4 @@ class A() {
}
}
}
/* FIR_COMPARISON */
@@ -5,3 +5,4 @@ class A() {
}
}
}
/* FIR_COMPARISON */