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 9c6b532817a..35300225ca7 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 @@ -34095,6 +34095,12 @@ public class LLFirBlackBoxCodegenBasedTestGenerated extends AbstractLLFirBlackBo runTest("compiler/testData/codegen/box/javaInterop/statics/inheritTwoStaticMethods2.kt"); } + @Test + @TestMetadata("inheritTwoStaticMethods3.kt") + public void testInheritTwoStaticMethods3() { + runTest("compiler/testData/codegen/box/javaInterop/statics/inheritTwoStaticMethods3.kt"); + } + @Test @TestMetadata("jkkjk.kt") public void testJkkjk() { 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 5fc2f0f9dd0..4644eec026f 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 @@ -34095,6 +34095,12 @@ public class LLFirReversedBlackBoxCodegenBasedTestGenerated extends AbstractLLFi runTest("compiler/testData/codegen/box/javaInterop/statics/inheritTwoStaticMethods2.kt"); } + @Test + @TestMetadata("inheritTwoStaticMethods3.kt") + public void testInheritTwoStaticMethods3() { + runTest("compiler/testData/codegen/box/javaInterop/statics/inheritTwoStaticMethods3.kt"); + } + @Test @TestMetadata("jkkjk.kt") public void testJkkjk() { 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 8434133d61a..b6d2bad4e3f 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 @@ -33964,6 +33964,12 @@ public class FirLightTreeBlackBoxCodegenTestGenerated extends AbstractFirLightTr runTest("compiler/testData/codegen/box/javaInterop/statics/inheritTwoStaticMethods2.kt"); } + @Test + @TestMetadata("inheritTwoStaticMethods3.kt") + public void testInheritTwoStaticMethods3() { + runTest("compiler/testData/codegen/box/javaInterop/statics/inheritTwoStaticMethods3.kt"); + } + @Test @TestMetadata("jkkjk.kt") public void testJkkjk() { diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenWithIrFakeOverrideGeneratorTestGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenWithIrFakeOverrideGeneratorTestGenerated.java index 9554354fefd..253602726a4 100644 --- a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenWithIrFakeOverrideGeneratorTestGenerated.java +++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenWithIrFakeOverrideGeneratorTestGenerated.java @@ -33964,6 +33964,12 @@ public class FirLightTreeBlackBoxCodegenWithIrFakeOverrideGeneratorTestGenerated runTest("compiler/testData/codegen/box/javaInterop/statics/inheritTwoStaticMethods2.kt"); } + @Test + @TestMetadata("inheritTwoStaticMethods3.kt") + public void testInheritTwoStaticMethods3() { + runTest("compiler/testData/codegen/box/javaInterop/statics/inheritTwoStaticMethods3.kt"); + } + @Test @TestMetadata("jkkjk.kt") public void testJkkjk() { 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 eb38e8c068b..e5680fb2123 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 @@ -33964,6 +33964,12 @@ public class FirPsiBlackBoxCodegenTestGenerated extends AbstractFirPsiBlackBoxCo runTest("compiler/testData/codegen/box/javaInterop/statics/inheritTwoStaticMethods2.kt"); } + @Test + @TestMetadata("inheritTwoStaticMethods3.kt") + public void testInheritTwoStaticMethods3() { + runTest("compiler/testData/codegen/box/javaInterop/statics/inheritTwoStaticMethods3.kt"); + } + @Test @TestMetadata("jkkjk.kt") public void testJkkjk() { diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/overrides/IrFakeOverrideBuilder.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/overrides/IrFakeOverrideBuilder.kt index ef2dc2fd4e8..e438fc8803e 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/overrides/IrFakeOverrideBuilder.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/overrides/IrFakeOverrideBuilder.kt @@ -173,7 +173,9 @@ class IrFakeOverrideBuilder( val addedFakeOverrides = mutableListOf() if (isStaticMembers) { - createAndBindFakeOverride(notOverridden.toList(), current, addedFakeOverrides, compatibilityMode) + for (member in notOverridden) { + createAndBindFakeOverride(listOf(member), current, addedFakeOverrides, compatibilityMode) + } } else { createAndBindFakeOverrides(current, notOverridden, addedFakeOverrides, compatibilityMode) } diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/types/IrTypeCheckerUtils.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/types/IrTypeCheckerUtils.kt index c2285aa5175..762e482c7e3 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/types/IrTypeCheckerUtils.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/types/IrTypeCheckerUtils.kt @@ -6,6 +6,7 @@ package org.jetbrains.kotlin.ir.types import org.jetbrains.kotlin.ir.declarations.IrTypeParameter +import org.jetbrains.kotlin.ir.util.render import org.jetbrains.kotlin.types.model.TypeConstructorMarker import org.jetbrains.kotlin.utils.newHashMapWithExpectedSize @@ -16,7 +17,7 @@ class IrTypeSystemContextWithAdditionalAxioms( ) : IrTypeSystemContext by typeSystem { init { assert(firstParameters.size == secondParameters.size) { - "different length of type parameter lists: $firstParameters vs $secondParameters" + "different length of type parameter lists: ${firstParameters.map { it.render() }} vs ${secondParameters.map { it.render() }}" } } diff --git a/compiler/testData/codegen/box/javaInterop/statics/inheritTwoStaticMethods3.kt b/compiler/testData/codegen/box/javaInterop/statics/inheritTwoStaticMethods3.kt new file mode 100644 index 00000000000..8b1c286ec61 --- /dev/null +++ b/compiler/testData/codegen/box/javaInterop/statics/inheritTwoStaticMethods3.kt @@ -0,0 +1,18 @@ +// TARGET_BACKEND: JVM +// FILE: A.java +public class A { + public static String f(T x) { + return "Fail"; + } + + public static String f(CharSequence c) { + return c.toString(); + } +} + +// FILE: 1.kt +class B : A() { + fun g(): String = f("OK") +} + +fun box(): String = B().g() diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/JvmAbiConsistencyTestBoxGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/JvmAbiConsistencyTestBoxGenerated.java index 2e61f383a50..d1d09af0e63 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/JvmAbiConsistencyTestBoxGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/JvmAbiConsistencyTestBoxGenerated.java @@ -33964,6 +33964,12 @@ public class JvmAbiConsistencyTestBoxGenerated extends AbstractJvmAbiConsistency runTest("compiler/testData/codegen/box/javaInterop/statics/inheritTwoStaticMethods2.kt"); } + @Test + @TestMetadata("inheritTwoStaticMethods3.kt") + public void testInheritTwoStaticMethods3() { + runTest("compiler/testData/codegen/box/javaInterop/statics/inheritTwoStaticMethods3.kt"); + } + @Test @TestMetadata("jkkjk.kt") public void testJkkjk() { diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java index 5dcae98b207..771dc974b5a 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java @@ -32104,6 +32104,12 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { runTest("compiler/testData/codegen/box/javaInterop/statics/inheritTwoStaticMethods2.kt"); } + @Test + @TestMetadata("inheritTwoStaticMethods3.kt") + public void testInheritTwoStaticMethods3() { + runTest("compiler/testData/codegen/box/javaInterop/statics/inheritTwoStaticMethods3.kt"); + } + @Test @TestMetadata("jkkjk.kt") public void testJkkjk() { diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java index ef685e005a8..47fe0406236 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java @@ -33964,6 +33964,12 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes runTest("compiler/testData/codegen/box/javaInterop/statics/inheritTwoStaticMethods2.kt"); } + @Test + @TestMetadata("inheritTwoStaticMethods3.kt") + public void testInheritTwoStaticMethods3() { + runTest("compiler/testData/codegen/box/javaInterop/statics/inheritTwoStaticMethods3.kt"); + } + @Test @TestMetadata("jkkjk.kt") public void testJkkjk() { diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenWithIrInlinerTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenWithIrInlinerTestGenerated.java index c024b35974d..0b570ef5c27 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenWithIrInlinerTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenWithIrInlinerTestGenerated.java @@ -33964,6 +33964,12 @@ public class IrBlackBoxCodegenWithIrInlinerTestGenerated extends AbstractIrBlack runTest("compiler/testData/codegen/box/javaInterop/statics/inheritTwoStaticMethods2.kt"); } + @Test + @TestMetadata("inheritTwoStaticMethods3.kt") + public void testInheritTwoStaticMethods3() { + runTest("compiler/testData/codegen/box/javaInterop/statics/inheritTwoStaticMethods3.kt"); + } + @Test @TestMetadata("jkkjk.kt") public void testJkkjk() { diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/inlineScopes/FirBlackBoxCodegenTestWithInlineScopesGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/inlineScopes/FirBlackBoxCodegenTestWithInlineScopesGenerated.java index fdc51bf4f41..c30b46a7087 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/inlineScopes/FirBlackBoxCodegenTestWithInlineScopesGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/inlineScopes/FirBlackBoxCodegenTestWithInlineScopesGenerated.java @@ -33964,6 +33964,12 @@ public class FirBlackBoxCodegenTestWithInlineScopesGenerated extends AbstractFir runTest("compiler/testData/codegen/box/javaInterop/statics/inheritTwoStaticMethods2.kt"); } + @Test + @TestMetadata("inheritTwoStaticMethods3.kt") + public void testInheritTwoStaticMethods3() { + runTest("compiler/testData/codegen/box/javaInterop/statics/inheritTwoStaticMethods3.kt"); + } + @Test @TestMetadata("jkkjk.kt") public void testJkkjk() { diff --git a/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java b/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java index 4a6894564cd..e93494aeed9 100644 --- a/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java +++ b/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java @@ -28823,6 +28823,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes runTest("compiler/testData/codegen/box/javaInterop/statics/inheritTwoStaticMethods2.kt"); } + @TestMetadata("inheritTwoStaticMethods3.kt") + public void testInheritTwoStaticMethods3() { + runTest("compiler/testData/codegen/box/javaInterop/statics/inheritTwoStaticMethods3.kt"); + } + @TestMetadata("jkkjk.kt") public void testJkkjk() { runTest("compiler/testData/codegen/box/javaInterop/statics/jkkjk.kt");