From 706d3e5aa87487c52d43cde735cd7c01f147407a Mon Sep 17 00:00:00 2001 From: Mark Punzalan Date: Fri, 12 Feb 2021 23:16:52 +0000 Subject: [PATCH] FIR IDE: Add quickfix for VAR_ANNOTATION_PARAMETER. --- .../kotlin/idea/quickfix/MainKtQuickFixRegistrar.kt | 2 ++ .../idea/quickfix/HighLevelQuickFixTestGenerated.java | 5 +++++ .../variables/changeMutability/varAnnotationParameter.kt | 6 ++++++ .../changeMutability/varAnnotationParameter.kt.after | 6 ++++++ .../kotlin/idea/quickfix/QuickFixTestGenerated.java | 5 +++++ 5 files changed, 24 insertions(+) create mode 100644 idea/testData/quickfix/variables/changeMutability/varAnnotationParameter.kt create mode 100644 idea/testData/quickfix/variables/changeMutability/varAnnotationParameter.kt.after diff --git a/idea/idea-fir/src/org/jetbrains/kotlin/idea/quickfix/MainKtQuickFixRegistrar.kt b/idea/idea-fir/src/org/jetbrains/kotlin/idea/quickfix/MainKtQuickFixRegistrar.kt index 10ac75dd750..d0f59fb5b8f 100644 --- a/idea/idea-fir/src/org/jetbrains/kotlin/idea/quickfix/MainKtQuickFixRegistrar.kt +++ b/idea/idea-fir/src/org/jetbrains/kotlin/idea/quickfix/MainKtQuickFixRegistrar.kt @@ -13,6 +13,7 @@ import org.jetbrains.kotlin.idea.frontend.api.fir.diagnostics.KtFirDiagnostic import org.jetbrains.kotlin.idea.quickfix.fixes.ChangeTypeQuickFix import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.psi.KtModifierListOwner +import org.jetbrains.kotlin.psi.KtParameter class MainKtQuickFixRegistrar : KtQuickFixRegistrar() { private val modifiers = KtQuickFixesListBuilder.registerPsiQuickFix { @@ -37,6 +38,7 @@ class MainKtQuickFixRegistrar : KtQuickFixRegistrar() { private val mutability = KtQuickFixesListBuilder.registerPsiQuickFix { registerPsiQuickFix(ChangeVariableMutabilityFix.VAR_OVERRIDDEN_BY_VAL_FACTORY) + registerPsiQuickFix(ChangeVariableMutabilityFix.VAR_ANNOTATION_PARAMETER_FACTORY) registerPsiQuickFix(ChangeVariableMutabilityFix.LATEINIT_VAL_FACTORY) } diff --git a/idea/idea-fir/tests/org/jetbrains/kotlin/idea/quickfix/HighLevelQuickFixTestGenerated.java b/idea/idea-fir/tests/org/jetbrains/kotlin/idea/quickfix/HighLevelQuickFixTestGenerated.java index 1cf3e270516..012869b9b17 100644 --- a/idea/idea-fir/tests/org/jetbrains/kotlin/idea/quickfix/HighLevelQuickFixTestGenerated.java +++ b/idea/idea-fir/tests/org/jetbrains/kotlin/idea/quickfix/HighLevelQuickFixTestGenerated.java @@ -564,5 +564,10 @@ public class HighLevelQuickFixTestGenerated extends AbstractHighLevelQuickFixTes public void testValWithSetter() throws Exception { runTest("idea/testData/quickfix/variables/changeMutability/valWithSetter.kt"); } + + @TestMetadata("varAnnotationParameter.kt") + public void testVarAnnotationParameter() throws Exception { + runTest("idea/testData/quickfix/variables/changeMutability/varAnnotationParameter.kt"); + } } } diff --git a/idea/testData/quickfix/variables/changeMutability/varAnnotationParameter.kt b/idea/testData/quickfix/variables/changeMutability/varAnnotationParameter.kt new file mode 100644 index 00000000000..85eee7c13a0 --- /dev/null +++ b/idea/testData/quickfix/variables/changeMutability/varAnnotationParameter.kt @@ -0,0 +1,6 @@ +// "Change to val" "true" +annotation class Ann( + val a: Int, + var b: Int +) +/* FIR_COMPARISON */ \ No newline at end of file diff --git a/idea/testData/quickfix/variables/changeMutability/varAnnotationParameter.kt.after b/idea/testData/quickfix/variables/changeMutability/varAnnotationParameter.kt.after new file mode 100644 index 00000000000..605d8a3c9fb --- /dev/null +++ b/idea/testData/quickfix/variables/changeMutability/varAnnotationParameter.kt.after @@ -0,0 +1,6 @@ +// "Change to val" "true" +annotation class Ann( + val a: Int, + val b: Int +) +/* FIR_COMPARISON */ \ No newline at end of file diff --git a/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java index 938eea025e3..70c4af4e255 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java @@ -15167,6 +15167,11 @@ public class QuickFixTestGenerated extends AbstractQuickFixTest { runTest("idea/testData/quickfix/variables/changeMutability/valWithSetter.kt"); } + @TestMetadata("varAnnotationParameter.kt") + public void testVarAnnotationParameter() throws Exception { + runTest("idea/testData/quickfix/variables/changeMutability/varAnnotationParameter.kt"); + } + @TestMetadata("idea/testData/quickfix/variables/changeMutability/canBeVal") @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class)