diff --git a/compiler/fir/fir2ir/tests/org/jetbrains/kotlin/codegen/FirCompileKotlinAgainstKotlinTestGenerated.java b/compiler/fir/fir2ir/tests/org/jetbrains/kotlin/codegen/FirCompileKotlinAgainstKotlinTestGenerated.java index 778ae6b9fc0..12e6783ba30 100644 --- a/compiler/fir/fir2ir/tests/org/jetbrains/kotlin/codegen/FirCompileKotlinAgainstKotlinTestGenerated.java +++ b/compiler/fir/fir2ir/tests/org/jetbrains/kotlin/codegen/FirCompileKotlinAgainstKotlinTestGenerated.java @@ -158,6 +158,11 @@ public class FirCompileKotlinAgainstKotlinTestGenerated extends AbstractFirCompi runTest("compiler/testData/compileKotlinAgainstKotlin/inlineClassInlineProperty.kt"); } + @TestMetadata("inlineClassesOldMangling.kt") + public void testInlineClassesOldMangling() throws Exception { + runTest("compiler/testData/compileKotlinAgainstKotlin/inlineClassesOldMangling.kt"); + } + @TestMetadata("inlinedConstants.kt") public void testInlinedConstants() throws Exception { runTest("compiler/testData/compileKotlinAgainstKotlin/inlinedConstants.kt"); diff --git a/compiler/testData/codegen/bytecodeListing/inlineClasses/stdlibManglingIn1430/old.kt b/compiler/testData/codegen/bytecodeListing/inlineClasses/stdlibManglingIn1430/old.kt index 55bd6e9c5c2..89041dadea2 100644 --- a/compiler/testData/codegen/bytecodeListing/inlineClasses/stdlibManglingIn1430/old.kt +++ b/compiler/testData/codegen/bytecodeListing/inlineClasses/stdlibManglingIn1430/old.kt @@ -1,4 +1,5 @@ // KOTLIN_CONFIGURATION_FLAGS: +JVM.USE_OLD_INLINE_CLASSES_MANGLING_SCHEME +// !LANGUAGE: -MangleClassMembersReturningInlineClasses // FILE: 1.kt package test diff --git a/compiler/testData/compileKotlinAgainstKotlin/inlineClassesOldMangling.kt b/compiler/testData/compileKotlinAgainstKotlin/inlineClassesOldMangling.kt new file mode 100644 index 00000000000..4a5860fed44 --- /dev/null +++ b/compiler/testData/compileKotlinAgainstKotlin/inlineClassesOldMangling.kt @@ -0,0 +1,28 @@ +// !LANGUAGE: +InlineClasses +// IGNORE_BACKEND_FIR: JVM_IR +// FILE: 1.kt +// KOTLIN_CONFIGURATION_FLAGS: +JVM.USE_OLD_INLINE_CLASSES_MANGLING_SCHEME +package test + +inline class IC(val s: String) + +fun ordinary(s: String, ic: IC): String = s + ic.s + +suspend fun suspend(s: String, ic: IC): String = s + ic.s + +// FILE: 2.kt +import kotlin.coroutines.* +import test.* + +fun builder(c: suspend () -> Unit) { + c.startCoroutine(Continuation(EmptyCoroutineContext) {}) +} + +fun box(): String { + var res = ordinary("O", IC("K")) + if (res != "OK") return "FAIL 1: $res" + builder { + res = suspend("O", IC("K")) + } + return res +} diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/CompileKotlinAgainstKotlinTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/codegen/CompileKotlinAgainstKotlinTestGenerated.java index 89c3d1fb352..d3d28f6a96c 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/CompileKotlinAgainstKotlinTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/codegen/CompileKotlinAgainstKotlinTestGenerated.java @@ -163,6 +163,11 @@ public class CompileKotlinAgainstKotlinTestGenerated extends AbstractCompileKotl runTest("compiler/testData/compileKotlinAgainstKotlin/inlineClassInlineProperty.kt"); } + @TestMetadata("inlineClassesOldMangling.kt") + public void testInlineClassesOldMangling() throws Exception { + runTest("compiler/testData/compileKotlinAgainstKotlin/inlineClassesOldMangling.kt"); + } + @TestMetadata("inlinedConstants.kt") public void testInlinedConstants() throws Exception { runTest("compiler/testData/compileKotlinAgainstKotlin/inlinedConstants.kt"); diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/ir/IrCompileKotlinAgainstKotlinTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/codegen/ir/IrCompileKotlinAgainstKotlinTestGenerated.java index ff0ee5a8dd8..11946037910 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/ir/IrCompileKotlinAgainstKotlinTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/codegen/ir/IrCompileKotlinAgainstKotlinTestGenerated.java @@ -158,6 +158,11 @@ public class IrCompileKotlinAgainstKotlinTestGenerated extends AbstractIrCompile runTest("compiler/testData/compileKotlinAgainstKotlin/inlineClassInlineProperty.kt"); } + @TestMetadata("inlineClassesOldMangling.kt") + public void testInlineClassesOldMangling() throws Exception { + runTest("compiler/testData/compileKotlinAgainstKotlin/inlineClassesOldMangling.kt"); + } + @TestMetadata("inlinedConstants.kt") public void testInlinedConstants() throws Exception { runTest("compiler/testData/compileKotlinAgainstKotlin/inlinedConstants.kt"); diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/ir/JvmIrAgainstOldBoxTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/codegen/ir/JvmIrAgainstOldBoxTestGenerated.java index 45155e6a892..f97bdc77ab4 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/ir/JvmIrAgainstOldBoxTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/codegen/ir/JvmIrAgainstOldBoxTestGenerated.java @@ -158,6 +158,11 @@ public class JvmIrAgainstOldBoxTestGenerated extends AbstractJvmIrAgainstOldBoxT runTest("compiler/testData/compileKotlinAgainstKotlin/inlineClassInlineProperty.kt"); } + @TestMetadata("inlineClassesOldMangling.kt") + public void testInlineClassesOldMangling() throws Exception { + runTest("compiler/testData/compileKotlinAgainstKotlin/inlineClassesOldMangling.kt"); + } + @TestMetadata("inlinedConstants.kt") public void testInlinedConstants() throws Exception { runTest("compiler/testData/compileKotlinAgainstKotlin/inlinedConstants.kt"); diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/ir/JvmOldAgainstIrBoxTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/codegen/ir/JvmOldAgainstIrBoxTestGenerated.java index 88b78f1f0aa..55d67906415 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/ir/JvmOldAgainstIrBoxTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/codegen/ir/JvmOldAgainstIrBoxTestGenerated.java @@ -158,6 +158,11 @@ public class JvmOldAgainstIrBoxTestGenerated extends AbstractJvmOldAgainstIrBoxT runTest("compiler/testData/compileKotlinAgainstKotlin/inlineClassInlineProperty.kt"); } + @TestMetadata("inlineClassesOldMangling.kt") + public void testInlineClassesOldMangling() throws Exception { + runTest("compiler/testData/compileKotlinAgainstKotlin/inlineClassesOldMangling.kt"); + } + @TestMetadata("inlinedConstants.kt") public void testInlinedConstants() throws Exception { runTest("compiler/testData/compileKotlinAgainstKotlin/inlinedConstants.kt");