FIR IDE: Add quickfix for VAR_ANNOTATION_PARAMETER.

This commit is contained in:
Mark Punzalan
2021-02-12 23:16:52 +00:00
committed by Ilya Kirillov
parent 2f450549ab
commit 706d3e5aa8
5 changed files with 24 additions and 0 deletions
@@ -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<PsiElement, KtFirDiagnostic.VarOverriddenByVal>(ChangeVariableMutabilityFix.VAR_OVERRIDDEN_BY_VAL_FACTORY)
registerPsiQuickFix<KtParameter, KtFirDiagnostic.VarAnnotationParameter>(ChangeVariableMutabilityFix.VAR_ANNOTATION_PARAMETER_FACTORY)
registerPsiQuickFix<KtModifierListOwner, KtFirDiagnostic.InapplicableLateinitModifier>(ChangeVariableMutabilityFix.LATEINIT_VAL_FACTORY)
}
@@ -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");
}
}
}
@@ -0,0 +1,6 @@
// "Change to val" "true"
annotation class Ann(
val a: Int,
var<caret> b: Int
)
/* FIR_COMPARISON */
@@ -0,0 +1,6 @@
// "Change to val" "true"
annotation class Ann(
val a: Int,
val b: Int
)
/* FIR_COMPARISON */
@@ -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)