FIR IDE: Add quickfix for PRIVATE_SETTER_FOR_(OPEN|ABSTRACT)_PROPERTY
This commit is contained in:
committed by
Ilya Kirillov
parent
77559e8299
commit
bca393bd5c
@@ -30,12 +30,20 @@ class MainKtQuickFixRegistrar : KtQuickFixRegistrar() {
|
||||
AddModifierFix.addAbstractToContainingClass,
|
||||
RemoveModifierFix.removeAbstractModifier
|
||||
)
|
||||
|
||||
registerPsiQuickFixes(
|
||||
KtFirDiagnostic.NonFinalMemberInFinalClass::class,
|
||||
AddModifierFix.addOpenToContainingClass,
|
||||
RemoveModifierFix.removeOpenModifier
|
||||
)
|
||||
registerPsiQuickFixes(
|
||||
KtFirDiagnostic.PrivateSetterForOpenProperty::class,
|
||||
AddModifierFix.addFinalToProperty,
|
||||
RemoveModifierFix.removePrivateModifier
|
||||
)
|
||||
registerPsiQuickFixes(
|
||||
KtFirDiagnostic.PrivateSetterForAbstractProperty::class,
|
||||
RemoveModifierFix.removePrivateModifier
|
||||
)
|
||||
}
|
||||
|
||||
private val overrides = KtQuickFixesListBuilder.registerPsiQuickFix {
|
||||
|
||||
Generated
+21
-6
@@ -253,6 +253,11 @@ public class HighLevelQuickFixTestGenerated extends AbstractHighLevelQuickFixTes
|
||||
runTest("idea/testData/quickfix/modifiers/abstractModifierInEnum.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("abstractVarWithPrivateSetter.kt")
|
||||
public void testAbstractVarWithPrivateSetter() throws Exception {
|
||||
runTest("idea/testData/quickfix/modifiers/abstractVarWithPrivateSetter.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("addLateinit.kt")
|
||||
public void testAddLateinit() throws Exception {
|
||||
runTest("idea/testData/quickfix/modifiers/addLateinit.kt");
|
||||
@@ -397,9 +402,14 @@ public class HighLevelQuickFixTestGenerated extends AbstractHighLevelQuickFixTes
|
||||
runTest("idea/testData/quickfix/modifiers/openObject.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("openVarWithPrivateSetter.kt")
|
||||
public void testOpenVarWithPrivateSetter() throws Exception {
|
||||
runTest("idea/testData/quickfix/modifiers/openVarWithPrivateSetter.kt");
|
||||
@TestMetadata("openVarWithPrivateSetter1.kt")
|
||||
public void testOpenVarWithPrivateSetter1() throws Exception {
|
||||
runTest("idea/testData/quickfix/modifiers/openVarWithPrivateSetter1.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("openVarWithPrivateSetter2.kt")
|
||||
public void testOpenVarWithPrivateSetter2() throws Exception {
|
||||
runTest("idea/testData/quickfix/modifiers/openVarWithPrivateSetter2.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("operatorModifier.kt")
|
||||
@@ -427,9 +437,14 @@ public class HighLevelQuickFixTestGenerated extends AbstractHighLevelQuickFixTes
|
||||
runTest("idea/testData/quickfix/modifiers/operatorModifierInherited.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("overrideWithPrivateSetter.kt")
|
||||
public void testOverrideWithPrivateSetter() throws Exception {
|
||||
runTest("idea/testData/quickfix/modifiers/overrideWithPrivateSetter.kt");
|
||||
@TestMetadata("overrideWithPrivateSetter1.kt")
|
||||
public void testOverrideWithPrivateSetter1() throws Exception {
|
||||
runTest("idea/testData/quickfix/modifiers/overrideWithPrivateSetter1.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("overrideWithPrivateSetter2.kt")
|
||||
public void testOverrideWithPrivateSetter2() throws Exception {
|
||||
runTest("idea/testData/quickfix/modifiers/overrideWithPrivateSetter2.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("packageMemberCannotBeProtected.kt")
|
||||
|
||||
+2
@@ -111,6 +111,8 @@ open class AddModifierFix(
|
||||
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)
|
||||
private val modalityModifiers: Set<KtModifierKeywordToken> =
|
||||
setOf(KtTokens.ABSTRACT_KEYWORD, KtTokens.OPEN_KEYWORD, KtTokens.FINAL_KEYWORD)
|
||||
|
||||
|
||||
+2
-1
@@ -60,7 +60,8 @@ class RemoveModifierFix(
|
||||
modifier = KtTokens.OPEN_KEYWORD,
|
||||
isRedundant = true
|
||||
)
|
||||
val removeOpenModifier = createRemoveModifierFromListOwnerPsiBasedFactory(KtTokens.OPEN_KEYWORD)
|
||||
val removeOpenModifier: QuickFixesPsiBasedFactory<PsiElement> = createRemoveModifierFromListOwnerPsiBasedFactory(KtTokens.OPEN_KEYWORD)
|
||||
val removePrivateModifier: QuickFixesPsiBasedFactory<PsiElement> = createRemoveModifierFromListOwnerPsiBasedFactory(KtTokens.PRIVATE_KEYWORD)
|
||||
|
||||
@Deprecated(
|
||||
"For binary compatibility",
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
// "Remove 'private' modifier" "true"
|
||||
abstract class My {
|
||||
abstract var foo: Int
|
||||
<caret>private set
|
||||
}
|
||||
/* FIR_COMPARISON */
|
||||
@@ -0,0 +1,6 @@
|
||||
// "Remove 'private' modifier" "true"
|
||||
abstract class My {
|
||||
abstract var foo: Int
|
||||
set
|
||||
}
|
||||
/* FIR_COMPARISON */
|
||||
+2
-1
@@ -2,4 +2,5 @@
|
||||
open class My {
|
||||
open var foo = 42
|
||||
<caret>private set
|
||||
}
|
||||
}
|
||||
/* FIR_COMPARISON */
|
||||
+2
-1
@@ -2,4 +2,5 @@
|
||||
open class My {
|
||||
var foo = 42
|
||||
<caret>private set
|
||||
}
|
||||
}
|
||||
/* FIR_COMPARISON */
|
||||
@@ -0,0 +1,6 @@
|
||||
// "Remove 'private' modifier" "true"
|
||||
open class My {
|
||||
open var foo = 42
|
||||
<caret>private set
|
||||
}
|
||||
/* FIR_COMPARISON */
|
||||
@@ -0,0 +1,6 @@
|
||||
// "Remove 'private' modifier" "true"
|
||||
open class My {
|
||||
open var foo = 42
|
||||
<caret>set
|
||||
}
|
||||
/* FIR_COMPARISON */
|
||||
+2
-1
@@ -6,4 +6,5 @@ interface Foo {
|
||||
open class FooImpl : Foo {
|
||||
override var bar: String = ""
|
||||
<caret>private set
|
||||
}
|
||||
}
|
||||
/* FIR_COMPARISON */
|
||||
+2
-1
@@ -6,4 +6,5 @@ interface Foo {
|
||||
open class FooImpl : Foo {
|
||||
final override var bar: String = ""
|
||||
<caret>private set
|
||||
}
|
||||
}
|
||||
/* FIR_COMPARISON */
|
||||
@@ -0,0 +1,10 @@
|
||||
// "Remove 'private' modifier" "true"
|
||||
interface Foo {
|
||||
val bar: String
|
||||
}
|
||||
|
||||
open class FooImpl : Foo {
|
||||
override var bar: String = ""
|
||||
<caret>private set
|
||||
}
|
||||
/* FIR_COMPARISON */
|
||||
@@ -0,0 +1,10 @@
|
||||
// "Remove 'private' modifier" "true"
|
||||
interface Foo {
|
||||
val bar: String
|
||||
}
|
||||
|
||||
open class FooImpl : Foo {
|
||||
override var bar: String = ""
|
||||
<caret>set
|
||||
}
|
||||
/* FIR_COMPARISON */
|
||||
@@ -9218,6 +9218,11 @@ public class QuickFixTestGenerated extends AbstractQuickFixTest {
|
||||
runTest("idea/testData/quickfix/modifiers/abstractModifierInEnum.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("abstractVarWithPrivateSetter.kt")
|
||||
public void testAbstractVarWithPrivateSetter() throws Exception {
|
||||
runTest("idea/testData/quickfix/modifiers/abstractVarWithPrivateSetter.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("addLateinit.kt")
|
||||
public void testAddLateinit() throws Exception {
|
||||
runTest("idea/testData/quickfix/modifiers/addLateinit.kt");
|
||||
@@ -9362,9 +9367,14 @@ public class QuickFixTestGenerated extends AbstractQuickFixTest {
|
||||
runTest("idea/testData/quickfix/modifiers/openObject.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("openVarWithPrivateSetter.kt")
|
||||
public void testOpenVarWithPrivateSetter() throws Exception {
|
||||
runTest("idea/testData/quickfix/modifiers/openVarWithPrivateSetter.kt");
|
||||
@TestMetadata("openVarWithPrivateSetter1.kt")
|
||||
public void testOpenVarWithPrivateSetter1() throws Exception {
|
||||
runTest("idea/testData/quickfix/modifiers/openVarWithPrivateSetter1.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("openVarWithPrivateSetter2.kt")
|
||||
public void testOpenVarWithPrivateSetter2() throws Exception {
|
||||
runTest("idea/testData/quickfix/modifiers/openVarWithPrivateSetter2.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("operatorModifier.kt")
|
||||
@@ -9392,9 +9402,14 @@ public class QuickFixTestGenerated extends AbstractQuickFixTest {
|
||||
runTest("idea/testData/quickfix/modifiers/operatorModifierInherited.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("overrideWithPrivateSetter.kt")
|
||||
public void testOverrideWithPrivateSetter() throws Exception {
|
||||
runTest("idea/testData/quickfix/modifiers/overrideWithPrivateSetter.kt");
|
||||
@TestMetadata("overrideWithPrivateSetter1.kt")
|
||||
public void testOverrideWithPrivateSetter1() throws Exception {
|
||||
runTest("idea/testData/quickfix/modifiers/overrideWithPrivateSetter1.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("overrideWithPrivateSetter2.kt")
|
||||
public void testOverrideWithPrivateSetter2() throws Exception {
|
||||
runTest("idea/testData/quickfix/modifiers/overrideWithPrivateSetter2.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("packageMemberCannotBeProtected.kt")
|
||||
|
||||
Reference in New Issue
Block a user