reproducer for JVM failure
diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirBlackBoxCodegenBasedTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirBlackBoxCodegenBasedTestGenerated.java
index f81f137..edf1843 100644
--- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirBlackBoxCodegenBasedTestGenerated.java
+++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirBlackBoxCodegenBasedTestGenerated.java
@@ -38841,6 +38841,18 @@
@TestDataPath("$PROJECT_ROOT")
public class K2 {
@Test
+ @TestMetadata("01_failure.kt")
+ public void test01_failure() {
+ runTest("compiler/testData/codegen/box/multiplatform/k2/01_failure.kt");
+ }
+
+ @Test
+ @TestMetadata("01_success.kt")
+ public void test01_success() {
+ runTest("compiler/testData/codegen/box/multiplatform/k2/01_success.kt");
+ }
+
+ @Test
@TestMetadata("actualInnerClassesFirMemberMapping.kt")
public void testActualInnerClassesFirMemberMapping() {
runTest("compiler/testData/codegen/box/multiplatform/k2/actualInnerClassesFirMemberMapping.kt");
diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirReversedBlackBoxCodegenBasedTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirReversedBlackBoxCodegenBasedTestGenerated.java
index 968b32d..f9b1ab1 100644
--- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirReversedBlackBoxCodegenBasedTestGenerated.java
+++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirReversedBlackBoxCodegenBasedTestGenerated.java
@@ -38841,6 +38841,18 @@
@TestDataPath("$PROJECT_ROOT")
public class K2 {
@Test
+ @TestMetadata("01_failure.kt")
+ public void test01_failure() {
+ runTest("compiler/testData/codegen/box/multiplatform/k2/01_failure.kt");
+ }
+
+ @Test
+ @TestMetadata("01_success.kt")
+ public void test01_success() {
+ runTest("compiler/testData/codegen/box/multiplatform/k2/01_success.kt");
+ }
+
+ @Test
@TestMetadata("actualInnerClassesFirMemberMapping.kt")
public void testActualInnerClassesFirMemberMapping() {
runTest("compiler/testData/codegen/box/multiplatform/k2/actualInnerClassesFirMemberMapping.kt");
diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenTestGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenTestGenerated.java
index 09833a9..d57882e4 100644
--- a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenTestGenerated.java
+++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenTestGenerated.java
@@ -38674,6 +38674,18 @@
@TestDataPath("$PROJECT_ROOT")
public class K2 {
@Test
+ @TestMetadata("01_failure.kt")
+ public void test01_failure() {
+ runTest("compiler/testData/codegen/box/multiplatform/k2/01_failure.kt");
+ }
+
+ @Test
+ @TestMetadata("01_success.kt")
+ public void test01_success() {
+ runTest("compiler/testData/codegen/box/multiplatform/k2/01_success.kt");
+ }
+
+ @Test
@TestMetadata("actualInnerClassesFirMemberMapping.kt")
public void testActualInnerClassesFirMemberMapping() {
runTest("compiler/testData/codegen/box/multiplatform/k2/actualInnerClassesFirMemberMapping.kt");
diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirPsiBlackBoxCodegenTestGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirPsiBlackBoxCodegenTestGenerated.java
index 5c9a677..97bee59 100644
--- a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirPsiBlackBoxCodegenTestGenerated.java
+++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirPsiBlackBoxCodegenTestGenerated.java
@@ -38674,6 +38674,18 @@
@TestDataPath("$PROJECT_ROOT")
public class K2 {
@Test
+ @TestMetadata("01_failure.kt")
+ public void test01_failure() {
+ runTest("compiler/testData/codegen/box/multiplatform/k2/01_failure.kt");
+ }
+
+ @Test
+ @TestMetadata("01_success.kt")
+ public void test01_success() {
+ runTest("compiler/testData/codegen/box/multiplatform/k2/01_success.kt");
+ }
+
+ @Test
@TestMetadata("actualInnerClassesFirMemberMapping.kt")
public void testActualInnerClassesFirMemberMapping() {
runTest("compiler/testData/codegen/box/multiplatform/k2/actualInnerClassesFirMemberMapping.kt");
diff --git a/compiler/testData/codegen/box/multiplatform/k2/01_failure.kt b/compiler/testData/codegen/box/multiplatform/k2/01_failure.kt
new file mode 100644
index 0000000..c1b5d6b
--- /dev/null
+++ b/compiler/testData/codegen/box/multiplatform/k2/01_failure.kt
@@ -0,0 +1,29 @@
+// LANGUAGE: +MultiPlatformProjects
+// ALLOW_KOTLIN_PACKAGE
+// TARGET_BACKEND: JVM_IR
+
+// MODULE: common
+// FILE: common.kt
+package kotlin.collections
+
+public expect open class AbstractMutableList()
+
+public class MutableListImpl: AbstractMutableList()
+
+// MODULE: jvm()()(common)
+// FILE: bar/JavaAbstractMutableList.java
+package bar; // Java class is in the different package.
+
+public class JavaAbstractMutableList {}
+
+// FILE: jvm.kt
+package kotlin.collections
+
+public actual open class AbstractMutableList: bar.JavaAbstractMutableList()
+
+// FILE: box.kt
+
+fun box(): String {
+ val l = MutableListImpl()
+ return "OK"
+}
diff --git a/compiler/testData/codegen/box/multiplatform/k2/01_success.kt b/compiler/testData/codegen/box/multiplatform/k2/01_success.kt
new file mode 100644
index 0000000..2b31ae9
--- /dev/null
+++ b/compiler/testData/codegen/box/multiplatform/k2/01_success.kt
@@ -0,0 +1,31 @@
+// LANGUAGE: +MultiPlatformProjects
+// ALLOW_KOTLIN_PACKAGE
+// TARGET_BACKEND: JVM_IR
+
+// MODULE: common
+// FILE: common.kt
+package foo
+
+public expect open class AbstractMutableList()
+
+public class MutableListImpl: AbstractMutableList()
+
+// MODULE: jvm()()(common)
+// FILE: bar/JavaAbstractMutableList.java
+package bar; // Java class is in the different package.
+
+public class JavaAbstractMutableList {}
+
+// FILE: jvm.kt
+package foo
+
+public actual open class AbstractMutableList: bar.JavaAbstractMutableList()
+
+// FILE: box.kt
+
+import foo.*
+
+fun box(): String {
+ val l = MutableListImpl()
+ return "OK"
+}