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 613be07c872..c639ab4fe7f 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 @@ -38301,6 +38301,12 @@ public class LLFirBlackBoxCodegenBasedTestGenerated extends AbstractLLFirBlackBo runTest("compiler/testData/codegen/box/multiplatform/k2/jvmDeclarationsUpdatedMembersInCommonModule.kt"); } + @Test + @TestMetadata("kt-65249.kt") + public void testKt_65249() { + runTest("compiler/testData/codegen/box/multiplatform/k2/kt-65249.kt"); + } + @Test @TestMetadata("mergedOverrides.kt") public void testMergedOverrides() { 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 37eab0d18a9..38520b29cf1 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 @@ -38301,6 +38301,12 @@ public class LLFirReversedBlackBoxCodegenBasedTestGenerated extends AbstractLLFi runTest("compiler/testData/codegen/box/multiplatform/k2/jvmDeclarationsUpdatedMembersInCommonModule.kt"); } + @Test + @TestMetadata("kt-65249.kt") + public void testKt_65249() { + runTest("compiler/testData/codegen/box/multiplatform/k2/kt-65249.kt"); + } + @Test @TestMetadata("mergedOverrides.kt") public void testMergedOverrides() { diff --git a/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/pipeline/convertToIr.kt b/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/pipeline/convertToIr.kt index 33fd6a23858..c67ad4d15cb 100644 --- a/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/pipeline/convertToIr.kt +++ b/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/pipeline/convertToIr.kt @@ -193,8 +193,16 @@ private fun IrFakeOverrideBuilder.buildForAll( element.acceptChildrenVoid(this) } + private fun isIgnoredClass(declaration: IrClass) : Boolean { + return when { + declaration.isExpect -> true + declaration.metadata is MetadataSource.CodeFragment -> true + else -> false + } + } + override fun visitClass(declaration: IrClass) { - if (declaration.metadata !is MetadataSource.CodeFragment) { + if (!isIgnoredClass(declaration)) { buildFakeOverrides(declaration) } declaration.acceptChildrenVoid(this) 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 8ab592d5be3..0c63be7eb7e 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 @@ -38146,6 +38146,12 @@ public class FirLightTreeBlackBoxCodegenTestGenerated extends AbstractFirLightTr runTest("compiler/testData/codegen/box/multiplatform/k2/jvmDeclarationsUpdatedMembersInCommonModule.kt"); } + @Test + @TestMetadata("kt-65249.kt") + public void testKt_65249() { + runTest("compiler/testData/codegen/box/multiplatform/k2/kt-65249.kt"); + } + @Test @TestMetadata("mergedOverrides.kt") public void testMergedOverrides() { diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenWithFir2IrFakeOverrideGeneratorTestGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenWithFir2IrFakeOverrideGeneratorTestGenerated.java index 709151bdfe6..67b1efe99f1 100644 --- a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenWithFir2IrFakeOverrideGeneratorTestGenerated.java +++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenWithFir2IrFakeOverrideGeneratorTestGenerated.java @@ -38146,6 +38146,12 @@ public class FirLightTreeBlackBoxCodegenWithFir2IrFakeOverrideGeneratorTestGener runTest("compiler/testData/codegen/box/multiplatform/k2/jvmDeclarationsUpdatedMembersInCommonModule.kt"); } + @Test + @TestMetadata("kt-65249.kt") + public void testKt_65249() { + runTest("compiler/testData/codegen/box/multiplatform/k2/kt-65249.kt"); + } + @Test @TestMetadata("mergedOverrides.kt") public void testMergedOverrides() { 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 051a4e91a81..9fd44eb018a 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 @@ -38146,6 +38146,12 @@ public class FirPsiBlackBoxCodegenTestGenerated extends AbstractFirPsiBlackBoxCo runTest("compiler/testData/codegen/box/multiplatform/k2/jvmDeclarationsUpdatedMembersInCommonModule.kt"); } + @Test + @TestMetadata("kt-65249.kt") + public void testKt_65249() { + runTest("compiler/testData/codegen/box/multiplatform/k2/kt-65249.kt"); + } + @Test @TestMetadata("mergedOverrides.kt") public void testMergedOverrides() { diff --git a/compiler/testData/codegen/box/multiplatform/k2/kt-65249.kt b/compiler/testData/codegen/box/multiplatform/k2/kt-65249.kt new file mode 100644 index 00000000000..a2a6fcfd5d5 --- /dev/null +++ b/compiler/testData/codegen/box/multiplatform/k2/kt-65249.kt @@ -0,0 +1,26 @@ +// LANGUAGE: +MultiPlatformProjects +// MODULE: common +// FILE: common.kt + +interface Source { + fun read(sink: Buffer): String +} + +expect class Buffer() + +expect abstract class ForwardingSource: Source { + override fun read(sink: Buffer): String +} + +// MODULE: jvm()()(common) +// FILE: platfrom.kt + +actual class Buffer actual constructor() + +actual abstract class ForwardingSource : Source { + actual override fun read(sink: Buffer): String = "OK" +} + +fun box() : String{ + return (object : ForwardingSource() {}).read(Buffer()) +} \ No newline at end of file diff --git a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeFunctionTypeParameterNamesInOverride.fir.kt b/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeFunctionTypeParameterNamesInOverride.fir.kt index e3b125b7db3..2e8d06d4522 100644 --- a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeFunctionTypeParameterNamesInOverride.fir.kt +++ b/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeFunctionTypeParameterNamesInOverride.fir.kt @@ -5,7 +5,7 @@ open class Base { open fun foo(t: T) {} } -expect open class Foo : Base +expect open class Foo : Base // MODULE: m2-jvm()()(m1-common) // FILE: jvm.kt diff --git a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeFunctionTypeParameterNamesInOverride.ll.kt b/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeFunctionTypeParameterNamesInOverride.ll.kt deleted file mode 100644 index 2e8d06d4522..00000000000 --- a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeFunctionTypeParameterNamesInOverride.ll.kt +++ /dev/null @@ -1,15 +0,0 @@ -// MODULE: m1-common -// FILE: common.kt - -open class Base { - open fun foo(t: T) {} -} - -expect open class Foo : Base - -// MODULE: m2-jvm()()(m1-common) -// FILE: jvm.kt - -actual open class Foo : Base() { - override fun foo(t: R) {} -} diff --git a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeLateinitInOverride.fir.kt b/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeLateinitInOverride.fir.kt index 0b377bb59a6..e8ecb82ee59 100644 --- a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeLateinitInOverride.fir.kt +++ b/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeLateinitInOverride.fir.kt @@ -7,8 +7,8 @@ open class Base { open lateinit var green: String } -expect open class Foo : Base { -} +expect open class Foo : Base { +} // MODULE: m2-jvm()()(m1-common) // FILE: jvm.kt diff --git a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeLateinitInOverride.ll.kt b/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeLateinitInOverride.ll.kt deleted file mode 100644 index e8ecb82ee59..00000000000 --- a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeLateinitInOverride.ll.kt +++ /dev/null @@ -1,20 +0,0 @@ -// MODULE: m1-common -// FILE: common.kt - -open class Base { - open var red1: String = "" - open lateinit var red2: String - open lateinit var green: String -} - -expect open class Foo : Base { -} - -// MODULE: m2-jvm()()(m1-common) -// FILE: jvm.kt - -actual open class Foo : Base() { - override lateinit var red1: String - override var red2: String = "" - override lateinit var green: String -} diff --git a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeModalityFromAbstractToFinalInOverride.fir.kt b/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeModalityFromAbstractToFinalInOverride.fir.kt index 36bf0ef6a78..d30683a55e6 100644 --- a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeModalityFromAbstractToFinalInOverride.fir.kt +++ b/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeModalityFromAbstractToFinalInOverride.fir.kt @@ -5,7 +5,7 @@ interface Base { fun foo() } -expect open class Foo : Base +expect open class Foo : Base // MODULE: m2-jvm()()(m1-common) // FILE: jvm.kt diff --git a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeModalityFromAbstractToFinalInOverride.ll.kt b/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeModalityFromAbstractToFinalInOverride.ll.kt deleted file mode 100644 index d30683a55e6..00000000000 --- a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeModalityFromAbstractToFinalInOverride.ll.kt +++ /dev/null @@ -1,15 +0,0 @@ -// MODULE: m1-common -// FILE: common.kt - -interface Base { - fun foo() -} - -expect open class Foo : Base - -// MODULE: m2-jvm()()(m1-common) -// FILE: jvm.kt - -actual open class Foo : Base { - final override fun foo() {} -} diff --git a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeModalityFromAbstractToOpenInOverride.fir.kt b/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeModalityFromAbstractToOpenInOverride.fir.kt index 8ff2f3cc41a..44a8809f154 100644 --- a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeModalityFromAbstractToOpenInOverride.fir.kt +++ b/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeModalityFromAbstractToOpenInOverride.fir.kt @@ -3,7 +3,7 @@ interface Base { fun foo() } -expect open class Foo() : Base +expect open class Foo() : Base // MODULE: m2-jvm()()(m1-common) diff --git a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeModalityFromAbstractToOpenInOverride.ll.kt b/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeModalityFromAbstractToOpenInOverride.ll.kt deleted file mode 100644 index 44a8809f154..00000000000 --- a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeModalityFromAbstractToOpenInOverride.ll.kt +++ /dev/null @@ -1,17 +0,0 @@ -// MODULE: m1-common -// FILE: common.kt -interface Base { - fun foo() -} -expect open class Foo() : Base - - -// MODULE: m2-jvm()()(m1-common) -// FILE: jvm.kt - -// Mismatched scope must be reported here. But it's false negative checker in K1. -// For some reason, K1 says that modality of `exect_Foo.foo` is `abstract`. -// https://youtrack.jetbrains.com/issue/KT-59739 -actual open class Foo : Base { - override fun foo() {} -} diff --git a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeModalityFromOpenToAbstractInOverride.fir.kt b/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeModalityFromOpenToAbstractInOverride.fir.kt index 193dfc41116..c017824771a 100644 --- a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeModalityFromOpenToAbstractInOverride.fir.kt +++ b/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeModalityFromOpenToAbstractInOverride.fir.kt @@ -3,7 +3,7 @@ interface Base { fun foo() {} } -expect abstract class Foo() : Base +expect abstract class Foo() : Base // MODULE: m2-jvm()()(m1-common) diff --git a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeModalityFromOpenToAbstractInOverride.ll.kt b/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeModalityFromOpenToAbstractInOverride.ll.kt deleted file mode 100644 index c017824771a..00000000000 --- a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeModalityFromOpenToAbstractInOverride.ll.kt +++ /dev/null @@ -1,14 +0,0 @@ -// MODULE: m1-common -// FILE: common.kt -interface Base { - fun foo() {} -} -expect abstract class Foo() : Base - - -// MODULE: m2-jvm()()(m1-common) -// FILE: jvm.kt - -actual abstract class Foo : Base { - abstract override fun foo() -} diff --git a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeModalityFromOpenToFinalInOverride.fir.kt b/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeModalityFromOpenToFinalInOverride.fir.kt index 32cd66e539f..c652d9e1ab9 100644 --- a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeModalityFromOpenToFinalInOverride.fir.kt +++ b/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeModalityFromOpenToFinalInOverride.fir.kt @@ -5,7 +5,7 @@ open class Base { open fun foo() {} } -expect open class Foo : Base +expect open class Foo : Base // MODULE: m2-jvm()()(m1-common) // FILE: jvm.kt diff --git a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeModalityFromOpenToFinalInOverride.ll.kt b/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeModalityFromOpenToFinalInOverride.ll.kt deleted file mode 100644 index c652d9e1ab9..00000000000 --- a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeModalityFromOpenToFinalInOverride.ll.kt +++ /dev/null @@ -1,15 +0,0 @@ -// MODULE: m1-common -// FILE: common.kt - -open class Base { - open fun foo() {} -} - -expect open class Foo : Base - -// MODULE: m2-jvm()()(m1-common) -// FILE: jvm.kt - -actual open class Foo : Base() { - final override fun foo() {} -} diff --git a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeModalityOfSubstitutedFakeOverride.fir.kt b/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeModalityOfSubstitutedFakeOverride.fir.kt index 5fa54448d2f..9ce90208ac8 100644 --- a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeModalityOfSubstitutedFakeOverride.fir.kt +++ b/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeModalityOfSubstitutedFakeOverride.fir.kt @@ -5,7 +5,7 @@ open class Base { open fun foo(t: T) {} } -expect open class Foo : Base +expect open class Foo : Base // MODULE: m2-jvm()()(m1-common) // FILE: jvm.kt diff --git a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeModalityOfSubstitutedFakeOverride.ll.kt b/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeModalityOfSubstitutedFakeOverride.ll.kt deleted file mode 100644 index 9ce90208ac8..00000000000 --- a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeModalityOfSubstitutedFakeOverride.ll.kt +++ /dev/null @@ -1,15 +0,0 @@ -// MODULE: m1-common -// FILE: common.kt - -open class Base { - open fun foo(t: T) {} -} - -expect open class Foo : Base - -// MODULE: m2-jvm()()(m1-common) -// FILE: jvm.kt - -actual open class Foo : Base() { - final override fun foo(t: String) {} -} diff --git a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeModalityOfToStringInOverride.fir.kt b/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeModalityOfToStringInOverride.fir.kt index e526bb4efcf..9ffa8e625be 100644 --- a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeModalityOfToStringInOverride.fir.kt +++ b/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeModalityOfToStringInOverride.fir.kt @@ -1,7 +1,7 @@ // MODULE: m1-common // FILE: common.kt -expect open class Foo +expect open class Foo // MODULE: m2-jvm()()(m1-common) // FILE: jvm.kt diff --git a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeModalityOfToStringInOverride.ll.kt b/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeModalityOfToStringInOverride.ll.kt deleted file mode 100644 index 9ffa8e625be..00000000000 --- a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeModalityOfToStringInOverride.ll.kt +++ /dev/null @@ -1,11 +0,0 @@ -// MODULE: m1-common -// FILE: common.kt - -expect open class Foo - -// MODULE: m2-jvm()()(m1-common) -// FILE: jvm.kt - -actual open class Foo { - final override fun toString() = "Foo" -} diff --git a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeParameterNameInOverride.fir.kt b/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeParameterNameInOverride.fir.kt index b05f168b56b..7c3f529db38 100644 --- a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeParameterNameInOverride.fir.kt +++ b/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeParameterNameInOverride.fir.kt @@ -5,7 +5,7 @@ open class Base { open fun foo(param: Int) {} } -expect open class Foo1 : Base +expect open class Foo1 : Base expect open class Foo2 : Base expect open class Foo3 { open fun foo(param: Int) diff --git a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeParameterNameInOverride.ll.kt b/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeParameterNameInOverride.ll.kt deleted file mode 100644 index 7c3f529db38..00000000000 --- a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeParameterNameInOverride.ll.kt +++ /dev/null @@ -1,34 +0,0 @@ -// MODULE: m1-common -// FILE: common.kt - -open class Base { - open fun foo(param: Int) {} -} - -expect open class Foo1 : Base -expect open class Foo2 : Base -expect open class Foo3 { - open fun foo(param: Int) -} - -// MODULE: m2-jvm()()(m1-common) -// FILE: jvm.kt - -actual open class Foo1 : Base() { - override fun foo(paramNameChanged: Int) {} -} - -actual typealias Foo2 = Foo2Java -actual typealias Foo3 = Foo3Java - -// FILE: Foo2Java.java - -public class Foo2Java extends Base { - @Override - public void foo(int paramNameChanged) {} -} - -// FILE: Foo3Java.java -public class Foo3Java { - public void foo(int paramNameChanged) {} -} diff --git a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeSetterVisibilityInOverride.fir.kt b/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeSetterVisibilityInOverride.fir.kt index d3435ebfd45..f0adf91606f 100644 --- a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeSetterVisibilityInOverride.fir.kt +++ b/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeSetterVisibilityInOverride.fir.kt @@ -6,7 +6,7 @@ open class Base { protected set } -expect open class Foo : Base +expect open class Foo : Base // MODULE: m2-jvm()()(m1-common) // FILE: jvm.kt diff --git a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeSetterVisibilityInOverride.ll.kt b/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeSetterVisibilityInOverride.ll.kt deleted file mode 100644 index f0adf91606f..00000000000 --- a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeSetterVisibilityInOverride.ll.kt +++ /dev/null @@ -1,17 +0,0 @@ -// MODULE: m1-common -// FILE: common.kt - -open class Base { - open var foo: String = "" - protected set -} - -expect open class Foo : Base - -// MODULE: m2-jvm()()(m1-common) -// FILE: jvm.kt - -actual open class Foo : Base() { - override var foo: String = "" - public set -} diff --git a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeVarargModifierInOverride.fir.kt b/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeVarargModifierInOverride.fir.kt index abd828a0874..8dcaf196b27 100644 --- a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeVarargModifierInOverride.fir.kt +++ b/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeVarargModifierInOverride.fir.kt @@ -5,8 +5,8 @@ open class Base { open fun foo(vararg bar: Int) {} } -expect open class Foo : Base { -} +expect open class Foo : Base { +} // MODULE: m2-jvm()()(m1-common) // FILE: jvm.kt diff --git a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeVarargModifierInOverride.ll.kt b/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeVarargModifierInOverride.ll.kt deleted file mode 100644 index 8dcaf196b27..00000000000 --- a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeVarargModifierInOverride.ll.kt +++ /dev/null @@ -1,16 +0,0 @@ -// MODULE: m1-common -// FILE: common.kt - -open class Base { - open fun foo(vararg bar: Int) {} -} - -expect open class Foo : Base { -} - -// MODULE: m2-jvm()()(m1-common) -// FILE: jvm.kt - -actual open class Foo : Base() { - override fun foo(bar: IntArray) {} -} diff --git a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeVisibilityInOverride.fir.kt b/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeVisibilityInOverride.fir.kt index de9ea1dba24..9cef44d2757 100644 --- a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeVisibilityInOverride.fir.kt +++ b/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeVisibilityInOverride.fir.kt @@ -5,7 +5,7 @@ open class Base { protected open fun foo() {} } -expect open class Foo : Base +expect open class Foo : Base // MODULE: m2-jvm()()(m1-common) // FILE: jvm.kt diff --git a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeVisibilityInOverride.ll.kt b/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeVisibilityInOverride.ll.kt deleted file mode 100644 index 9cef44d2757..00000000000 --- a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/changeVisibilityInOverride.ll.kt +++ /dev/null @@ -1,15 +0,0 @@ -// MODULE: m1-common -// FILE: common.kt - -open class Base { - protected open fun foo() {} -} - -expect open class Foo : Base - -// MODULE: m2-jvm()()(m1-common) -// FILE: jvm.kt - -actual open class Foo : Base() { - public override fun foo() {} -} diff --git a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/covariantFunctionOverride.fir.kt b/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/covariantFunctionOverride.fir.kt index f8fe1b977bf..378b9e27402 100644 --- a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/covariantFunctionOverride.fir.kt +++ b/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/covariantFunctionOverride.fir.kt @@ -6,8 +6,8 @@ open class Base { open fun foo(): Any = "" } -expect open class Foo : Base { -} +expect open class Foo : Base { +} // MODULE: m2-jvm()()(m1-common) // FILE: jvm.kt diff --git a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/covariantFunctionOverride.ll.kt b/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/covariantFunctionOverride.ll.kt deleted file mode 100644 index 378b9e27402..00000000000 --- a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/covariantFunctionOverride.ll.kt +++ /dev/null @@ -1,17 +0,0 @@ -// MODULE: m1-common -// FILE: common.kt - -open class Base { - open val foo: String = "" - open fun foo(): Any = "" -} - -expect open class Foo : Base { -} - -// MODULE: m2-jvm()()(m1-common) -// FILE: jvm.kt - -actual open class Foo : Base() { - override fun foo(): String = "" -} diff --git a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/covariantOverrideGenericUpperBound.fir.kt b/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/covariantOverrideGenericUpperBound.fir.kt index 1d15702910e..3fc54339d2c 100644 --- a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/covariantOverrideGenericUpperBound.fir.kt +++ b/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/covariantOverrideGenericUpperBound.fir.kt @@ -7,8 +7,8 @@ open class Base { open fun foo(): I = null!! } -expect open class Foo : Base { -} +expect open class Foo : Base { +} // MODULE: m2-jvm()()(m1-common) // FILE: jvm.kt diff --git a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/covariantOverrideGenericUpperBound.ll.kt b/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/covariantOverrideGenericUpperBound.ll.kt deleted file mode 100644 index 3fc54339d2c..00000000000 --- a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/covariantOverrideGenericUpperBound.ll.kt +++ /dev/null @@ -1,18 +0,0 @@ -// MODULE: m1-common -// FILE: common.kt - -interface I - -open class Base { - open fun foo(): I = null!! -} - -expect open class Foo : Base { -} - -// MODULE: m2-jvm()()(m1-common) -// FILE: jvm.kt - -actual open class Foo : Base() { - override fun foo(): T = null!! -} diff --git a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/covariantOverrideGenerics.fir.kt b/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/covariantOverrideGenerics.fir.kt index adb870b2f57..c0159015158 100644 --- a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/covariantOverrideGenerics.fir.kt +++ b/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/covariantOverrideGenerics.fir.kt @@ -5,8 +5,8 @@ open class Base { open fun foo(): R = null!! } -expect open class Foo : Base { -} +expect open class Foo : Base { +} // MODULE: m2-jvm()()(m1-common) // FILE: jvm.kt diff --git a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/covariantOverrideGenerics.ll.kt b/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/covariantOverrideGenerics.ll.kt deleted file mode 100644 index c0159015158..00000000000 --- a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/covariantOverrideGenerics.ll.kt +++ /dev/null @@ -1,16 +0,0 @@ -// MODULE: m1-common -// FILE: common.kt - -open class Base { - open fun foo(): R = null!! -} - -expect open class Foo : Base { -} - -// MODULE: m2-jvm()()(m1-common) -// FILE: jvm.kt - -actual open class Foo : Base() { - override fun foo(): F = null!! -} diff --git a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/covariantPropertyOverride.fir.kt b/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/covariantPropertyOverride.fir.kt index a211422d752..43ccf8ea108 100644 --- a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/covariantPropertyOverride.fir.kt +++ b/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/covariantPropertyOverride.fir.kt @@ -6,7 +6,7 @@ open class Base { open fun foo(): String = "" } -expect open class Foo : Base +expect open class Foo : Base // MODULE: m2-jvm()()(m1-common) // FILE: jvm.kt diff --git a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/covariantPropertyOverride.ll.kt b/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/covariantPropertyOverride.ll.kt deleted file mode 100644 index 43ccf8ea108..00000000000 --- a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/covariantPropertyOverride.ll.kt +++ /dev/null @@ -1,16 +0,0 @@ -// MODULE: m1-common -// FILE: common.kt - -open class Base { - open val foo: Any = "" - open fun foo(): String = "" -} - -expect open class Foo : Base - -// MODULE: m2-jvm()()(m1-common) -// FILE: jvm.kt - -actual open class Foo : Base() { - override val foo: String = "" -} diff --git a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/flexibleTypesMatching.fir.kt b/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/flexibleTypesMatching.fir.kt index 3e232e9491d..c669f64741c 100644 --- a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/flexibleTypesMatching.fir.kt +++ b/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/flexibleTypesMatching.fir.kt @@ -5,9 +5,9 @@ expect open class Base { open fun foo(): MutableList } -expect open class Foo : Base { +expect open class Foo : Base { -} +} // MODULE: m2-jvm()()(m1-common) // FILE: jvm.kt diff --git a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/flexibleTypesMatching.ll.kt b/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/flexibleTypesMatching.ll.kt deleted file mode 100644 index c669f64741c..00000000000 --- a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/flexibleTypesMatching.ll.kt +++ /dev/null @@ -1,33 +0,0 @@ -// MODULE: m1-common -// FILE: common.kt - -expect open class Base { - open fun foo(): MutableList -} - -expect open class Foo : Base { - -} - -// MODULE: m2-jvm()()(m1-common) -// FILE: jvm.kt - -actual typealias Base = BaseJava - -actual open class Foo : Base() { - // K1 doesn't report a diagnostic here because when it compares scopes it sees flexible type - // K2 will likely report a diagnostic here - // I don't think we can fix this 'K1 green -> K2 red'. It must be a rare case anyway. - override fun foo(): List { - return super.foo() - } -} - -// FILE: BaseJava.java -import java.util.List; - -public class BaseJava { - public List foo() { - return null; - } -} diff --git a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/propertyKindOverride.fir.kt b/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/propertyKindOverride.fir.kt index 34d0b539779..8ca982487fa 100644 --- a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/propertyKindOverride.fir.kt +++ b/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/propertyKindOverride.fir.kt @@ -5,7 +5,7 @@ open class Base { open val foo: Int = 1 } -expect open class Foo : Base +expect open class Foo : Base // MODULE: m2-jvm()()(m1-common) // FILE: jvm.kt diff --git a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/propertyKindOverride.ll.kt b/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/propertyKindOverride.ll.kt deleted file mode 100644 index 8ca982487fa..00000000000 --- a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/propertyKindOverride.ll.kt +++ /dev/null @@ -1,15 +0,0 @@ -// MODULE: m1-common -// FILE: common.kt - -open class Base { - open val foo: Int = 1 -} - -expect open class Foo : Base - -// MODULE: m2-jvm()()(m1-common) -// FILE: jvm.kt - -actual open class Foo : Base() { - override var foo: Int = 1 -} diff --git a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/severalMismatches.fir.kt b/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/severalMismatches.fir.kt index 6a04696b71e..cec9cdce670 100644 --- a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/severalMismatches.fir.kt +++ b/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/severalMismatches.fir.kt @@ -8,10 +8,10 @@ open class Base() { protected open fun overrideVisibility(): Any = "" } -expect open class Foo : Base { +expect open class Foo : Base { fun existingMethod() val existingParam: Int -} +} // MODULE: m2-jvm()()(m1-common) // FILE: jvm.kt diff --git a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/severalMismatches.ll.kt b/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/severalMismatches.ll.kt deleted file mode 100644 index cec9cdce670..00000000000 --- a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/severalMismatches.ll.kt +++ /dev/null @@ -1,29 +0,0 @@ -// MODULE: m1-common -// FILE: common.kt - -open class Base() { - open fun overrideReturnType(): Any = "" - open fun overrideModality1(): Any = "" - open fun overrideModality2(): Any = "" - protected open fun overrideVisibility(): Any = "" -} - -expect open class Foo : Base { - fun existingMethod() - val existingParam: Int -} - -// MODULE: m2-jvm()()(m1-common) -// FILE: jvm.kt - -actual open class Foo : Base() { - actual fun existingMethod() {} - actual val existingParam: Int = 904 - - fun injectedMethod() {} - val injectedProperty: Int = 42 - override fun overrideReturnType(): String = "" - final override fun overrideModality1(): Any = "" - final override fun overrideModality2(): Any = "" - public override fun overrideVisibility(): Any = "" -} diff --git a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/supertypeIsExpectActual_covariantOverrideOfInjectedFromSuper_transitiveSubstitutionFakeOverride.fir.kt b/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/supertypeIsExpectActual_covariantOverrideOfInjectedFromSuper_transitiveSubstitutionFakeOverride.fir.kt index 97b56bae863..c2e71e0b524 100644 --- a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/supertypeIsExpectActual_covariantOverrideOfInjectedFromSuper_transitiveSubstitutionFakeOverride.fir.kt +++ b/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/supertypeIsExpectActual_covariantOverrideOfInjectedFromSuper_transitiveSubstitutionFakeOverride.fir.kt @@ -10,10 +10,10 @@ expect open class Base() { open class Transitive : Base() -expect open class Foo : Transitive { +expect open class Foo : Transitive { fun existingMethod() val existingParam: Int -} +} // MODULE: m2-jvm()()(m1-common) // FILE: jvm.kt diff --git a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/supertypeIsExpectActual_covariantOverrideOfInjectedFromSuper_transitiveSubstitutionFakeOverride.ll.kt b/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/supertypeIsExpectActual_covariantOverrideOfInjectedFromSuper_transitiveSubstitutionFakeOverride.ll.kt deleted file mode 100644 index c2e71e0b524..00000000000 --- a/compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker/supertypeIsExpectActual_covariantOverrideOfInjectedFromSuper_transitiveSubstitutionFakeOverride.ll.kt +++ /dev/null @@ -1,31 +0,0 @@ -// FIR status: KT-65249 K2: False positive modality is different for native compilation - -// WITH_STDLIB -// MODULE: m1-common -// FILE: common.kt - -expect open class Base() { - fun existingMethodInBase(param: T) -} - -open class Transitive : Base() - -expect open class Foo : Transitive { - fun existingMethod() - val existingParam: Int -} - -// MODULE: m2-jvm()()(m1-common) -// FILE: jvm.kt - -actual open class Base { - actual fun existingMethodInBase(param: T) {} - open fun injected(param: T): Any = "" -} - -actual open class Foo : Transitive() { - actual fun existingMethod() {} - actual val existingParam: Int = 904 - - override fun injected(param: String): String = "" // covariant override -} diff --git a/compiler/testData/diagnostics/tests/multiplatform/enum/enumEntryWithBody.fir.kt b/compiler/testData/diagnostics/tests/multiplatform/enum/enumEntryWithBody.fir.kt deleted file mode 100644 index 47c6908b07e..00000000000 --- a/compiler/testData/diagnostics/tests/multiplatform/enum/enumEntryWithBody.fir.kt +++ /dev/null @@ -1,10 +0,0 @@ -// MODULE: m1-common -// FILE: common.kt - -expect enum class En { - E1, - E2 { - fun foo() = "" - }, - E3 { }; -} diff --git a/compiler/testData/diagnostics/tests/multiplatform/enum/enumEntryWithBody.kt b/compiler/testData/diagnostics/tests/multiplatform/enum/enumEntryWithBody.kt index 9033bddee4a..98897f1e739 100644 --- a/compiler/testData/diagnostics/tests/multiplatform/enum/enumEntryWithBody.kt +++ b/compiler/testData/diagnostics/tests/multiplatform/enum/enumEntryWithBody.kt @@ -1,3 +1,4 @@ +// FIR_IDENTICAL // MODULE: m1-common // FILE: common.kt diff --git a/compiler/testData/diagnostics/tests/multiplatform/enum/enumEntryWithBody.ll.kt b/compiler/testData/diagnostics/tests/multiplatform/enum/enumEntryWithBody.ll.kt deleted file mode 100644 index 9033bddee4a..00000000000 --- a/compiler/testData/diagnostics/tests/multiplatform/enum/enumEntryWithBody.ll.kt +++ /dev/null @@ -1,10 +0,0 @@ -// MODULE: m1-common -// FILE: common.kt - -expect enum class En { - E1, - E2 { - fun foo() = "" - }, - E3 { }; -} diff --git a/compiler/testData/diagnostics/tests/multiplatform/headerClass/equalsOverrideInActualInterface.fir.kt b/compiler/testData/diagnostics/tests/multiplatform/headerClass/equalsOverrideInActualInterface.fir.kt index 8fc0a1a2718..d86e9cbd755 100644 --- a/compiler/testData/diagnostics/tests/multiplatform/headerClass/equalsOverrideInActualInterface.fir.kt +++ b/compiler/testData/diagnostics/tests/multiplatform/headerClass/equalsOverrideInActualInterface.fir.kt @@ -1,5 +1,5 @@ // MODULE: m1-common -expect interface Base +expect interface Base // MODULE: m1-jvm()()(m1-common) actual interface Base { diff --git a/compiler/testData/diagnostics/tests/multiplatform/headerClass/equalsOverrideInActualInterface.ll.kt b/compiler/testData/diagnostics/tests/multiplatform/headerClass/equalsOverrideInActualInterface.ll.kt deleted file mode 100644 index d86e9cbd755..00000000000 --- a/compiler/testData/diagnostics/tests/multiplatform/headerClass/equalsOverrideInActualInterface.ll.kt +++ /dev/null @@ -1,7 +0,0 @@ -// MODULE: m1-common -expect interface Base - -// MODULE: m1-jvm()()(m1-common) -actual interface Base { - override fun equals(other: Any?): Boolean -} diff --git a/compiler/testData/diagnostics/tests/multiplatform/platformRedeclarationOfExpect.fir.kt b/compiler/testData/diagnostics/tests/multiplatform/platformRedeclarationOfExpect.fir.kt index 12406b8c306..dd9711b9f73 100644 --- a/compiler/testData/diagnostics/tests/multiplatform/platformRedeclarationOfExpect.fir.kt +++ b/compiler/testData/diagnostics/tests/multiplatform/platformRedeclarationOfExpect.fir.kt @@ -1,7 +1,7 @@ // MODULE: common // FILE: common.kt -expect class Foo +expect class Foo // MODULE: main()()(common) // FILE: test.kt -expect class Foo +expect class Foo diff --git a/compiler/testData/diagnostics/tests/multiplatform/scopes/implicitActualFakeOverride_AbstractMap.fir.kt b/compiler/testData/diagnostics/tests/multiplatform/scopes/implicitActualFakeOverride_AbstractMap.fir.kt index 51a4179d4f1..75a7a36fcc0 100644 --- a/compiler/testData/diagnostics/tests/multiplatform/scopes/implicitActualFakeOverride_AbstractMap.fir.kt +++ b/compiler/testData/diagnostics/tests/multiplatform/scopes/implicitActualFakeOverride_AbstractMap.fir.kt @@ -2,10 +2,9 @@ // MODULE: m1-common // FILE: common.kt -// K2: false positve INCOMPATIBLE_MATCHING: KT-60155 -public expect abstract class AbstractMutableMap : MutableMap { +public expect abstract class AbstractMutableMap : MutableMap { override val values: MutableCollection -} +} // MODULE: m2-jvm()()(m1-common) // FILE: jvm.kt diff --git a/compiler/testData/diagnostics/tests/multiplatform/scopes/implicitActualFakeOverride_AbstractMap.kt b/compiler/testData/diagnostics/tests/multiplatform/scopes/implicitActualFakeOverride_AbstractMap.kt index b2c3ad70bd9..64eef1c2a4f 100644 --- a/compiler/testData/diagnostics/tests/multiplatform/scopes/implicitActualFakeOverride_AbstractMap.kt +++ b/compiler/testData/diagnostics/tests/multiplatform/scopes/implicitActualFakeOverride_AbstractMap.kt @@ -2,7 +2,6 @@ // MODULE: m1-common // FILE: common.kt -// K2: false positve INCOMPATIBLE_MATCHING: KT-60155 public expect abstract class AbstractMutableMap : MutableMap { override val values: MutableCollection } diff --git a/compiler/testData/diagnostics/tests/multiplatform/scopes/implicitActualFakeOverride_AbstractMap.ll.kt b/compiler/testData/diagnostics/tests/multiplatform/scopes/implicitActualFakeOverride_AbstractMap.ll.kt deleted file mode 100644 index 3a83499727c..00000000000 --- a/compiler/testData/diagnostics/tests/multiplatform/scopes/implicitActualFakeOverride_AbstractMap.ll.kt +++ /dev/null @@ -1,15 +0,0 @@ -// WITH_STDLIB -// MODULE: m1-common -// FILE: common.kt - -// K2: false positve INCOMPATIBLE_MATCHING: KT-60155 -public expect abstract class AbstractMutableMap : MutableMap { - override val values: MutableCollection -} - -// MODULE: m2-jvm()()(m1-common) -// FILE: jvm.kt - -import java.util.AbstractMap - -public actual abstract class AbstractMutableMap() : MutableMap, AbstractMap() diff --git a/compiler/testData/diagnostics/tests/multiplatform/typealias/actualTypealiasToNothing.fir.kt b/compiler/testData/diagnostics/tests/multiplatform/typealias/actualTypealiasToNothing.fir.kt index 32edc397c50..c2d8cc02f06 100644 --- a/compiler/testData/diagnostics/tests/multiplatform/typealias/actualTypealiasToNothing.fir.kt +++ b/compiler/testData/diagnostics/tests/multiplatform/typealias/actualTypealiasToNothing.fir.kt @@ -1,8 +1,8 @@ // MODULE: m1-common // FILE: common.kt -expect class E01 -expect class E02 +expect class E01 +expect class E02 // MODULE: m1-jvm()()(m1-common) // FILE: jvm.kt diff --git a/compiler/testData/diagnostics/tests/multiplatform/typealias/actualTypealiasToNothing.ll.kt b/compiler/testData/diagnostics/tests/multiplatform/typealias/actualTypealiasToNothing.ll.kt deleted file mode 100644 index c2d8cc02f06..00000000000 --- a/compiler/testData/diagnostics/tests/multiplatform/typealias/actualTypealiasToNothing.ll.kt +++ /dev/null @@ -1,13 +0,0 @@ -// MODULE: m1-common -// FILE: common.kt - -expect class E01 -expect class E02 - -// MODULE: m1-jvm()()(m1-common) -// FILE: jvm.kt - -typealias MyNothing = Nothing - -actual typealias E01 = Nothing -actual typealias E02 = MyNothing diff --git a/compiler/testData/diagnostics/tests/multiplatform/typealias/actualTypealiasToNothing_oldLanguageVersion.fir.kt b/compiler/testData/diagnostics/tests/multiplatform/typealias/actualTypealiasToNothing_oldLanguageVersion.fir.kt index e64b3224fba..0372c233af3 100644 --- a/compiler/testData/diagnostics/tests/multiplatform/typealias/actualTypealiasToNothing_oldLanguageVersion.fir.kt +++ b/compiler/testData/diagnostics/tests/multiplatform/typealias/actualTypealiasToNothing_oldLanguageVersion.fir.kt @@ -2,8 +2,8 @@ // MODULE: m1-common // FILE: common.kt -expect class E01 -expect class E02 +expect class E01 +expect class E02 // MODULE: m1-jvm()()(m1-common) // FILE: jvm.kt diff --git a/compiler/testData/diagnostics/tests/multiplatform/typealias/actualTypealiasToNothing_oldLanguageVersion.ll.kt b/compiler/testData/diagnostics/tests/multiplatform/typealias/actualTypealiasToNothing_oldLanguageVersion.ll.kt deleted file mode 100644 index 0372c233af3..00000000000 --- a/compiler/testData/diagnostics/tests/multiplatform/typealias/actualTypealiasToNothing_oldLanguageVersion.ll.kt +++ /dev/null @@ -1,14 +0,0 @@ -// LANGUAGE: -MultiplatformRestrictions -// MODULE: m1-common -// FILE: common.kt - -expect class E01 -expect class E02 - -// MODULE: m1-jvm()()(m1-common) -// FILE: jvm.kt - -typealias MyNothing = Nothing - -actual typealias E01 = Nothing -actual typealias E02 = MyNothing diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirJsCodegenBoxTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirJsCodegenBoxTestGenerated.java index 7bf5d91de44..5ac92aca400 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirJsCodegenBoxTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirJsCodegenBoxTestGenerated.java @@ -27394,6 +27394,12 @@ public class FirJsCodegenBoxTestGenerated extends AbstractFirJsCodegenBoxTest { runTest("compiler/testData/codegen/box/multiplatform/k2/internalOverride2.kt"); } + @Test + @TestMetadata("kt-65249.kt") + public void testKt_65249() { + runTest("compiler/testData/codegen/box/multiplatform/k2/kt-65249.kt"); + } + @Test @TestMetadata("mergedOverrides.kt") public void testMergedOverrides() { diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirJsES6CodegenBoxTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirJsES6CodegenBoxTestGenerated.java index 6cccd04aa14..b98148d8923 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirJsES6CodegenBoxTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirJsES6CodegenBoxTestGenerated.java @@ -27394,6 +27394,12 @@ public class FirJsES6CodegenBoxTestGenerated extends AbstractFirJsES6CodegenBoxT runTest("compiler/testData/codegen/box/multiplatform/k2/internalOverride2.kt"); } + @Test + @TestMetadata("kt-65249.kt") + public void testKt_65249() { + runTest("compiler/testData/codegen/box/multiplatform/k2/kt-65249.kt"); + } + @Test @TestMetadata("mergedOverrides.kt") public void testMergedOverrides() { diff --git a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/FirNativeCodegenBoxTestGenerated.java b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/FirNativeCodegenBoxTestGenerated.java index cd4256d7459..6a74ed43459 100644 --- a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/FirNativeCodegenBoxTestGenerated.java +++ b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/FirNativeCodegenBoxTestGenerated.java @@ -30465,6 +30465,12 @@ public class FirNativeCodegenBoxTestGenerated extends AbstractNativeCodegenBoxTe runTest("compiler/testData/codegen/box/multiplatform/k2/internalOverride2.kt"); } + @Test + @TestMetadata("kt-65249.kt") + public void testKt_65249() { + runTest("compiler/testData/codegen/box/multiplatform/k2/kt-65249.kt"); + } + @Test @TestMetadata("mergedOverrides.kt") public void testMergedOverrides() { diff --git a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/FirNativeCodegenBoxTestNoPLGenerated.java b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/FirNativeCodegenBoxTestNoPLGenerated.java index 27387779f41..e58906d824a 100644 --- a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/FirNativeCodegenBoxTestNoPLGenerated.java +++ b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/FirNativeCodegenBoxTestNoPLGenerated.java @@ -31149,6 +31149,12 @@ public class FirNativeCodegenBoxTestNoPLGenerated extends AbstractNativeCodegenB runTest("compiler/testData/codegen/box/multiplatform/k2/internalOverride2.kt"); } + @Test + @TestMetadata("kt-65249.kt") + public void testKt_65249() { + runTest("compiler/testData/codegen/box/multiplatform/k2/kt-65249.kt"); + } + @Test @TestMetadata("mergedOverrides.kt") public void testMergedOverrides() { diff --git a/wasm/wasm.tests/tests-gen/org/jetbrains/kotlin/wasm/test/FirWasmJsCodegenBoxTestGenerated.java b/wasm/wasm.tests/tests-gen/org/jetbrains/kotlin/wasm/test/FirWasmJsCodegenBoxTestGenerated.java index 78c0d4fbc2f..7f37cbb425c 100644 --- a/wasm/wasm.tests/tests-gen/org/jetbrains/kotlin/wasm/test/FirWasmJsCodegenBoxTestGenerated.java +++ b/wasm/wasm.tests/tests-gen/org/jetbrains/kotlin/wasm/test/FirWasmJsCodegenBoxTestGenerated.java @@ -27364,6 +27364,12 @@ public class FirWasmJsCodegenBoxTestGenerated extends AbstractFirWasmJsCodegenBo runTest("compiler/testData/codegen/box/multiplatform/k2/internalOverride2.kt"); } + @Test + @TestMetadata("kt-65249.kt") + public void testKt_65249() { + runTest("compiler/testData/codegen/box/multiplatform/k2/kt-65249.kt"); + } + @Test @TestMetadata("mergedOverrides.kt") public void testMergedOverrides() {