mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[kotlin] Port RemoveDefaultParameterValueFix to K2
This quick fix is for the DEFAULT_VALUE_NOT_ALLOWED_IN_OVERRIDE error. ^KTIJ-29521 GitOrigin-RevId: 1516d42144ecc3e3c49f711419b42101655fb67c
This commit is contained in:
committed by
intellij-monorepo-bot
parent
53c04c9095
commit
9edfe9f3fe
+1
@@ -107,6 +107,7 @@ class KotlinK2QuickFixRegistrar : KotlinQuickFixRegistrar() {
|
||||
registerFactory(ConvertLateinitPropertyToNotNullDelegateFixFactory.convertLateinitPropertyToNotNullDelegateFixFactory)
|
||||
registerFactory(AddReifiedToTypeParameterOfFunctionFixFactory.addReifiedToTypeParameterOfFunctionFixFactory)
|
||||
registerFactory(ChangeObjectToClassFixFactory.changeObjectToClassFixFactory)
|
||||
registerFactory(RemoveDefaultParameterValueFixFactory.removeDefaultParameterValueFixFactory)
|
||||
}
|
||||
|
||||
private val addAbstract = KtQuickFixesListBuilder.registerPsiQuickFix {
|
||||
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package org.jetbrains.kotlin.idea.k2.codeinsight.fixes
|
||||
|
||||
import org.jetbrains.kotlin.analysis.api.fir.diagnostics.KaFirDiagnostic
|
||||
import org.jetbrains.kotlin.idea.codeinsight.api.applicators.fixes.KotlinQuickFixFactory
|
||||
import org.jetbrains.kotlin.idea.quickfix.RemoveDefaultParameterValueFix
|
||||
import org.jetbrains.kotlin.psi.KtParameter
|
||||
|
||||
internal object RemoveDefaultParameterValueFixFactory {
|
||||
|
||||
val removeDefaultParameterValueFixFactory = KotlinQuickFixFactory.ModCommandBased { diagnostic: KaFirDiagnostic.DefaultValueNotAllowedInOverride ->
|
||||
(diagnostic.psi.parent as? KtParameter)
|
||||
?.let { RemoveDefaultParameterValueFix(it) }
|
||||
?.let(::listOf) ?: emptyList()
|
||||
}
|
||||
}
|
||||
+27
@@ -6121,7 +6121,34 @@ public abstract class HighLevelQuickFixTestGenerated extends AbstractHighLevelQu
|
||||
|
||||
|
||||
|
||||
@RunWith(JUnit3RunnerWithInners.class)
|
||||
@TestMetadata("../../../idea/tests/testData/quickfix/removeDefaultParameterValue")
|
||||
public static class RemoveDefaultParameterValue extends AbstractHighLevelQuickFixTest {
|
||||
@java.lang.Override
|
||||
@org.jetbrains.annotations.NotNull
|
||||
public final KotlinPluginMode getPluginMode() {
|
||||
return KotlinPluginMode.K2;
|
||||
}
|
||||
|
||||
private void runTest(String testDataFilePath) throws Exception {
|
||||
KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
|
||||
}
|
||||
|
||||
@TestMetadata("actualFunctionWithDefaultArguments.kt")
|
||||
public void testActualFunctionWithDefaultArguments() throws Exception {
|
||||
runTest("../../../idea/tests/testData/quickfix/removeDefaultParameterValue/actualFunctionWithDefaultArguments.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("defaultValueNotAllowedInOverride.kt")
|
||||
public void testDefaultValueNotAllowedInOverride() throws Exception {
|
||||
runTest("../../../idea/tests/testData/quickfix/removeDefaultParameterValue/defaultValueNotAllowedInOverride.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("hasComment.kt")
|
||||
public void testHasComment() throws Exception {
|
||||
runTest("../../../idea/tests/testData/quickfix/removeDefaultParameterValue/hasComment.kt");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
+2
-1
@@ -11,4 +11,5 @@ expect class Bar : Foo {
|
||||
actual class Bar : Foo {
|
||||
actual override fun test(x: Int, y: Int = 1<caret>) {}
|
||||
}
|
||||
// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.RemoveDefaultParameterValueFix
|
||||
// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.RemoveDefaultParameterValueFix
|
||||
// FUS_K2_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.RemoveDefaultParameterValueFix
|
||||
+2
-1
@@ -11,4 +11,5 @@ expect class Bar : Foo {
|
||||
actual class Bar : Foo {
|
||||
actual override fun test(x: Int, y: Int) {}
|
||||
}
|
||||
// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.RemoveDefaultParameterValueFix
|
||||
// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.RemoveDefaultParameterValueFix
|
||||
// FUS_K2_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.RemoveDefaultParameterValueFix
|
||||
+2
-1
@@ -6,4 +6,5 @@ open class A {
|
||||
class B : A() {
|
||||
override fun foo(x : Int = 1<caret>, y: Int) {}
|
||||
}
|
||||
// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.RemoveDefaultParameterValueFix
|
||||
// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.RemoveDefaultParameterValueFix
|
||||
// FUS_K2_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.RemoveDefaultParameterValueFix
|
||||
+2
-1
@@ -6,4 +6,5 @@ open class A {
|
||||
class B : A() {
|
||||
override fun foo(x : Int, y: Int) {}
|
||||
}
|
||||
// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.RemoveDefaultParameterValueFix
|
||||
// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.RemoveDefaultParameterValueFix
|
||||
// FUS_K2_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.RemoveDefaultParameterValueFix
|
||||
+2
-1
@@ -6,4 +6,5 @@ open class A {
|
||||
class B : A() {
|
||||
override fun foo(x : Int /* comment1 */ = /* comment2 */ 1<caret>, y: Int) {}
|
||||
}
|
||||
// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.RemoveDefaultParameterValueFix
|
||||
// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.RemoveDefaultParameterValueFix
|
||||
// FUS_K2_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.RemoveDefaultParameterValueFix
|
||||
+2
-1
@@ -6,4 +6,5 @@ open class A {
|
||||
class B : A() {
|
||||
override fun foo(x : Int /* comment1 */ /* comment2 */, y: Int) {}
|
||||
}
|
||||
// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.RemoveDefaultParameterValueFix
|
||||
// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.RemoveDefaultParameterValueFix
|
||||
// FUS_K2_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.RemoveDefaultParameterValueFix
|
||||
+1
-1
@@ -161,7 +161,7 @@ internal fun MutableTWorkspace.generateK2FixTests() {
|
||||
model("$idea/quickfix/removeAnnotation", pattern = pattern, isIgnored = true)
|
||||
model("$idea/quickfix/removeArgument", pattern = pattern)
|
||||
model("$idea/quickfix/removeAtFromAnnotationArgument", pattern = pattern, isIgnored = true)
|
||||
model("$idea/quickfix/removeDefaultParameterValue", pattern = pattern, isIgnored = true)
|
||||
model("$idea/quickfix/removeDefaultParameterValue", pattern = pattern)
|
||||
model("$idea/quickfix/removeFinalUpperBound", pattern = pattern, isIgnored = true)
|
||||
model("$idea/quickfix/removeNoConstructor", pattern = pattern)
|
||||
model("$idea/quickfix/removeRedundantAssignment", pattern = pattern, isIgnored = true)
|
||||
|
||||
Reference in New Issue
Block a user