From f6059c3eb5343a8c194bd9549f56ee54c311e13c Mon Sep 17 00:00:00 2001 From: Toshiaki Kameyama Date: Sat, 23 Nov 2019 00:37:26 +0900 Subject: [PATCH] "Change to var": remove `const` modifier #KT-35022 Fixed --- .../kotlin/idea/quickfix/ChangeVariableMutabilityFix.kt | 3 +++ .../testData/quickfix/variables/changeMutability/const.kt | 8 ++++++++ .../quickfix/variables/changeMutability/const.kt.after | 8 ++++++++ .../kotlin/idea/quickfix/QuickFixTestGenerated.java | 5 +++++ 4 files changed, 24 insertions(+) create mode 100644 idea/testData/quickfix/variables/changeMutability/const.kt create mode 100644 idea/testData/quickfix/variables/changeMutability/const.kt.after diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/ChangeVariableMutabilityFix.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/ChangeVariableMutabilityFix.kt index 8be736ad7b3..5aa7989dd9a 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/ChangeVariableMutabilityFix.kt +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/ChangeVariableMutabilityFix.kt @@ -56,6 +56,9 @@ class ChangeVariableMutabilityFix( if (deleteInitializer) { (element as? KtProperty)?.initializer = null } + if (makeVar) { + (element as? KtModifierListOwner)?.removeModifier(KtTokens.CONST_KEYWORD) + } } companion object { diff --git a/idea/testData/quickfix/variables/changeMutability/const.kt b/idea/testData/quickfix/variables/changeMutability/const.kt new file mode 100644 index 00000000000..88f992658e9 --- /dev/null +++ b/idea/testData/quickfix/variables/changeMutability/const.kt @@ -0,0 +1,8 @@ +// "Change to var" "true" +object A { + const val A = 1 + + fun foo() { + A = 10 + } +} \ No newline at end of file diff --git a/idea/testData/quickfix/variables/changeMutability/const.kt.after b/idea/testData/quickfix/variables/changeMutability/const.kt.after new file mode 100644 index 00000000000..47ac9941a04 --- /dev/null +++ b/idea/testData/quickfix/variables/changeMutability/const.kt.after @@ -0,0 +1,8 @@ +// "Change to var" "true" +object A { + var A = 1 + + fun foo() { + A = 10 + } +} \ 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 1c1952cfee9..2f8b54c486b 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java @@ -14342,6 +14342,11 @@ public class QuickFixTestGenerated extends AbstractQuickFixTest { runTest("idea/testData/quickfix/variables/changeMutability/capturedValInitialization.kt"); } + @TestMetadata("const.kt") + public void testConst() throws Exception { + runTest("idea/testData/quickfix/variables/changeMutability/const.kt"); + } + @TestMetadata("funParameter.kt") public void testFunParameter() throws Exception { runTest("idea/testData/quickfix/variables/changeMutability/funParameter.kt");