diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/InlineClassDeprecatedFix.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/InlineClassDeprecatedFix.kt index 93ba544cceb..29edb44b685 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/InlineClassDeprecatedFix.kt +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/InlineClassDeprecatedFix.kt @@ -11,8 +11,10 @@ import com.intellij.openapi.project.Project import org.jetbrains.kotlin.diagnostics.Diagnostic import org.jetbrains.kotlin.diagnostics.Errors import org.jetbrains.kotlin.idea.KotlinBundle +import org.jetbrains.kotlin.idea.project.TargetPlatformDetector import org.jetbrains.kotlin.idea.util.addAnnotation import org.jetbrains.kotlin.lexer.KtTokens +import org.jetbrains.kotlin.platform.jvm.isJvm import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.psi.KtModifierListOwner import org.jetbrains.kotlin.psi.psiUtil.getParentOfType @@ -22,7 +24,10 @@ class InlineClassDeprecatedFix( element: KtModifierListOwner ) : KotlinQuickFixAction(element), CleanupFix { - private val text = KotlinBundle.message("replace.with.0", "@JvmInline value") + private val text = KotlinBundle.message( + "replace.with.0", + (if (TargetPlatformDetector.getPlatform(element.containingKtFile).isJvm()) "@JvmInline " else "") + "value" + ) override fun getText() = text @@ -31,7 +36,9 @@ class InlineClassDeprecatedFix( override fun invoke(project: Project, editor: Editor?, file: KtFile) { element?.removeModifier(KtTokens.INLINE_KEYWORD) element?.addModifier(KtTokens.VALUE_KEYWORD) - element?.addAnnotation(JVM_INLINE_ANNOTATION_FQ_NAME) + if (TargetPlatformDetector.getPlatform(file).isJvm()) { + element?.addAnnotation(JVM_INLINE_ANNOTATION_FQ_NAME) + } } companion object : KotlinSingleIntentionActionFactory() { diff --git a/idea/testData/quickfix/inlineClass/inlineClassDeprecated_js.kt b/idea/testData/quickfix/inlineClass/inlineClassDeprecated_js.kt new file mode 100644 index 00000000000..eefd3433356 --- /dev/null +++ b/idea/testData/quickfix/inlineClass/inlineClassDeprecated_js.kt @@ -0,0 +1,4 @@ +// "Replace with 'value'" "true" +// JS + +inline class IC(val i: Int) \ No newline at end of file diff --git a/idea/testData/quickfix/inlineClass/inlineClassDeprecated_js.kt.after b/idea/testData/quickfix/inlineClass/inlineClassDeprecated_js.kt.after new file mode 100644 index 00000000000..2362ca9b4f2 --- /dev/null +++ b/idea/testData/quickfix/inlineClass/inlineClassDeprecated_js.kt.after @@ -0,0 +1,4 @@ +// "Replace with 'value'" "true" +// JS + +value class IC(val i: Int) \ 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 86a7db7499a..9716bf46318 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java @@ -8517,6 +8517,11 @@ public class QuickFixTestGenerated extends AbstractQuickFixTest { public void testInlineClassDeprecated() throws Exception { runTest("idea/testData/quickfix/inlineClass/inlineClassDeprecated.kt"); } + + @TestMetadata("inlineClassDeprecated_js.kt") + public void testInlineClassDeprecated_js() throws Exception { + runTest("idea/testData/quickfix/inlineClass/inlineClassDeprecated_js.kt"); + } } @TestMetadata("idea/testData/quickfix/inlineClassConstructorNotValParameter")