mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[kotlin] Port InlineClassDeprecatedFix to K2
This quick fix is for the INLINE_CLASS_DEPRECATED compiler warning. ^KTIJ-29500 GitOrigin-RevId: 025715bb1dcd3b68d11f0d62390b8a6c315b3aa1
This commit is contained in:
committed by
intellij-monorepo-bot
parent
46f05e6014
commit
5b987df757
+18
@@ -0,0 +1,18 @@
|
||||
// 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.InlineClassDeprecatedFix
|
||||
import org.jetbrains.kotlin.psi.KtModifierListOwner
|
||||
|
||||
internal object InlineClassDeprecatedFixFactory {
|
||||
|
||||
val replaceWithValue = KotlinQuickFixFactory.ModCommandBased { diagnostic: KaFirDiagnostic.InlineClassDeprecated ->
|
||||
val modifierListOwner = diagnostic.psi as? KtModifierListOwner ?: return@ModCommandBased emptyList()
|
||||
|
||||
listOf(
|
||||
InlineClassDeprecatedFix(modifierListOwner)
|
||||
)
|
||||
}
|
||||
}
|
||||
+1
@@ -134,6 +134,7 @@ class KotlinK2QuickFixRegistrar : KotlinQuickFixRegistrar() {
|
||||
registerFactory(IllegalEscapeFixFactory.convertToUnicodeEscape)
|
||||
registerFactory(IsEnumEntryFixFactory.factory)
|
||||
registerFactory(NoReturnInFunctionWithBlockBodyFixFactory.addReturnToLastExpression)
|
||||
registerFactory(InlineClassDeprecatedFixFactory.replaceWithValue)
|
||||
}
|
||||
|
||||
private val addAbstract = KtQuickFixesListBuilder.registerPsiQuickFix {
|
||||
|
||||
+32
@@ -9004,7 +9004,39 @@ public abstract class HighLevelQuickFixTestGenerated extends AbstractHighLevelQu
|
||||
|
||||
|
||||
|
||||
@RunWith(JUnit3RunnerWithInners.class)
|
||||
@TestMetadata("../../../idea/tests/testData/quickfix/inlineClass")
|
||||
public static class InlineClass 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("inlineClassDeprecated.kt")
|
||||
public void testInlineClassDeprecated() throws Exception {
|
||||
runTest("../../../idea/tests/testData/quickfix/inlineClass/inlineClassDeprecated.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("inlineClassDeprecated_js.kt")
|
||||
public void testInlineClassDeprecated_js() throws Exception {
|
||||
runTest("../../../idea/tests/testData/quickfix/inlineClass/inlineClassDeprecated_js.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("inlineClassWithGeneric.kt")
|
||||
public void testInlineClassWithGeneric() throws Exception {
|
||||
runTest("../../../idea/tests/testData/quickfix/inlineClass/inlineClassWithGeneric.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("publicInlineClass.kt")
|
||||
public void testPublicInlineClass() throws Exception {
|
||||
runTest("../../../idea/tests/testData/quickfix/inlineClass/publicInlineClass.kt");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
+1
-1
@@ -17,7 +17,7 @@ import org.jetbrains.kotlin.platform.jvm.JvmPlatform
|
||||
import org.jetbrains.kotlin.psi.KtFile
|
||||
import org.jetbrains.kotlin.psi.KtModifierListOwner
|
||||
|
||||
class InlineClassDeprecatedFix(
|
||||
open class InlineClassDeprecatedFix(
|
||||
element: KtModifierListOwner,
|
||||
) : KotlinPsiUpdateModCommandAction.ElementBased<KtModifierListOwner, Unit>(element, Unit) {
|
||||
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
// "Replace with 'value'" "true"
|
||||
// IGNORE_K2
|
||||
|
||||
<caret>inline class IC1(val i: Int)
|
||||
-1
@@ -1,4 +1,3 @@
|
||||
// "Replace with 'value'" "true"
|
||||
// IGNORE_K2
|
||||
|
||||
value class IC1(val i: Int)
|
||||
@@ -1,5 +1,4 @@
|
||||
// "Replace with '@JvmInline value'" "true"
|
||||
// DISABLE-ERRORS
|
||||
// IGNORE_K2
|
||||
|
||||
<caret>inline class IC(val i: Int)
|
||||
-1
@@ -1,6 +1,5 @@
|
||||
// "Replace with '@JvmInline value'" "true"
|
||||
// DISABLE-ERRORS
|
||||
// IGNORE_K2
|
||||
|
||||
@kotlin.jvm.JvmInline
|
||||
value class IC(val i: Int)
|
||||
-1
@@ -1,5 +1,4 @@
|
||||
// "Replace with '@JvmInline value'" "true"
|
||||
// DISABLE-ERRORS
|
||||
// IGNORE_K2
|
||||
|
||||
<caret>inline class IC(val i: Int)
|
||||
-1
@@ -1,6 +1,5 @@
|
||||
// "Replace with '@JvmInline value'" "true"
|
||||
// DISABLE-ERRORS
|
||||
// IGNORE_K2
|
||||
|
||||
@kotlin.jvm.JvmInline
|
||||
value class IC(val i: Int)
|
||||
-1
@@ -1,5 +1,4 @@
|
||||
// "Replace with '@JvmInline value'" "true"
|
||||
// DISABLE-ERRORS
|
||||
// IGNORE_K2
|
||||
|
||||
<caret>inline class IC<T>(val i: T)
|
||||
|
||||
-1
@@ -1,6 +1,5 @@
|
||||
// "Replace with '@JvmInline value'" "true"
|
||||
// DISABLE-ERRORS
|
||||
// IGNORE_K2
|
||||
|
||||
@kotlin.jvm.JvmInline
|
||||
value class IC<T>(val i: T)
|
||||
|
||||
@@ -2,4 +2,5 @@
|
||||
// WITH_STDLIB
|
||||
|
||||
<caret>inline class IC(val i: Int)
|
||||
// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.InlineClassDeprecatedFix
|
||||
// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.InlineClassDeprecatedFix
|
||||
// FUS_K2_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.InlineClassDeprecatedFix
|
||||
+2
-1
@@ -3,4 +3,5 @@
|
||||
|
||||
@JvmInline
|
||||
value class IC(val i: Int)
|
||||
// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.InlineClassDeprecatedFix
|
||||
// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.InlineClassDeprecatedFix
|
||||
// FUS_K2_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.InlineClassDeprecatedFix
|
||||
@@ -2,4 +2,5 @@
|
||||
// JS
|
||||
|
||||
<caret>inline class IC(val i: Int)
|
||||
// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.InlineClassDeprecatedFix
|
||||
// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.InlineClassDeprecatedFix
|
||||
// FUS_K2_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.InlineClassDeprecatedFix
|
||||
+2
-1
@@ -2,4 +2,5 @@
|
||||
// JS
|
||||
|
||||
value class IC(val i: Int)
|
||||
// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.InlineClassDeprecatedFix
|
||||
// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.InlineClassDeprecatedFix
|
||||
// FUS_K2_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.InlineClassDeprecatedFix
|
||||
@@ -4,4 +4,5 @@
|
||||
|
||||
<caret>inline class IC<T>(val i: T)
|
||||
|
||||
// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.InlineClassDeprecatedFix
|
||||
// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.InlineClassDeprecatedFix
|
||||
// FUS_K2_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.InlineClassDeprecatedFix
|
||||
+2
-1
@@ -5,4 +5,5 @@
|
||||
@JvmInline
|
||||
value class IC<T>(val i: T)
|
||||
|
||||
// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.InlineClassDeprecatedFix
|
||||
// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.InlineClassDeprecatedFix
|
||||
// FUS_K2_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.InlineClassDeprecatedFix
|
||||
@@ -2,4 +2,5 @@
|
||||
// WITH_STDLIB
|
||||
|
||||
public <caret>inline class IC(val i: Int)
|
||||
// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.InlineClassDeprecatedFix
|
||||
// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.InlineClassDeprecatedFix
|
||||
// FUS_K2_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.InlineClassDeprecatedFix
|
||||
@@ -3,4 +3,5 @@
|
||||
|
||||
@JvmInline
|
||||
public value class IC(val i: Int)
|
||||
// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.InlineClassDeprecatedFix
|
||||
// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.InlineClassDeprecatedFix
|
||||
// FUS_K2_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.InlineClassDeprecatedFix
|
||||
+1
-1
@@ -124,7 +124,7 @@ internal fun MutableTWorkspace.generateK2FixTests() {
|
||||
model("$idea/quickfix/importAlias", pattern = pattern, isIgnored = true)
|
||||
model("$idea/quickfix/increaseVisibility", pattern = pattern)
|
||||
model("$idea/quickfix/initializeWithConstructorParameter", pattern = pattern, isIgnored = true)
|
||||
model("$idea/quickfix/inlineClass", pattern = pattern, isIgnored = true)
|
||||
model("$idea/quickfix/inlineClass", pattern = pattern)
|
||||
model("$idea/quickfix/inlineTypeParameterFix", pattern = pattern, isIgnored = true)
|
||||
model("$idea/quickfix/insertDelegationCall", pattern = pattern)
|
||||
model("$idea/quickfix/isEnumEntry", pattern = pattern)
|
||||
|
||||
Reference in New Issue
Block a user