diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/FakeOverrideGenerator.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/FakeOverrideGenerator.kt index 2e57ab67a88..eff892787e1 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/FakeOverrideGenerator.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/FakeOverrideGenerator.kt @@ -94,7 +94,6 @@ class FakeOverrideGenerator( ) } } - if (firClass.isEnumClass) return@buildList // F/O for values/valueOf/entries aren't needed, for other members aren't possible val staticScope = firClass.scopeProvider.getStaticMemberScopeForCallables(firClass, session, scopeSession) if (staticScope != null) { generateFakeOverridesForName( 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 b3926a12aed..ba0babcf933 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 @@ -49303,6 +49303,12 @@ public class FirLightTreeBlackBoxCodegenTestGenerated extends AbstractFirLightTr runTest("compiler/testData/codegen/box/statics/anonymousInitializerInClassObject.kt"); } + @Test + @TestMetadata("enumWithInheritedStaticField.kt") + public void testEnumWithInheritedStaticField() throws Exception { + runTest("compiler/testData/codegen/box/statics/enumWithInheritedStaticField.kt"); + } + @Test @TestMetadata("fields.kt") public void testFields() throws Exception { 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 0cd924504c1..0e3a8b19aad 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 @@ -49303,6 +49303,12 @@ public class FirPsiBlackBoxCodegenTestGenerated extends AbstractFirPsiBlackBoxCo runTest("compiler/testData/codegen/box/statics/anonymousInitializerInClassObject.kt"); } + @Test + @TestMetadata("enumWithInheritedStaticField.kt") + public void testEnumWithInheritedStaticField() throws Exception { + runTest("compiler/testData/codegen/box/statics/enumWithInheritedStaticField.kt"); + } + @Test @TestMetadata("fields.kt") public void testFields() throws Exception { diff --git a/compiler/testData/codegen/box/statics/enumWithInheritedStaticField.kt b/compiler/testData/codegen/box/statics/enumWithInheritedStaticField.kt new file mode 100644 index 00000000000..1047bd87951 --- /dev/null +++ b/compiler/testData/codegen/box/statics/enumWithInheritedStaticField.kt @@ -0,0 +1,13 @@ +// TARGET_BACKEND: JVM +// IGNORE_LIGHT_ANALYSIS +// FILE: E.java + +interface I { + String result = "OK"; +} + +public enum E implements I {} + +// FILE: box.kt + +fun box(): String = E.result 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 17585463d39..40fb8dd7206 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 @@ -46879,6 +46879,12 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { runTest("compiler/testData/codegen/box/statics/anonymousInitializerInClassObject.kt"); } + @Test + @TestMetadata("enumWithInheritedStaticField.kt") + public void testEnumWithInheritedStaticField() throws Exception { + runTest("compiler/testData/codegen/box/statics/enumWithInheritedStaticField.kt"); + } + @Test @TestMetadata("fields.kt") public void testFields() throws Exception { 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 89fa92985da..dad4a19e33a 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 @@ -49303,6 +49303,12 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes runTest("compiler/testData/codegen/box/statics/anonymousInitializerInClassObject.kt"); } + @Test + @TestMetadata("enumWithInheritedStaticField.kt") + public void testEnumWithInheritedStaticField() throws Exception { + runTest("compiler/testData/codegen/box/statics/enumWithInheritedStaticField.kt"); + } + @Test @TestMetadata("fields.kt") public void testFields() throws Exception { 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 0ec1d5ece04..9257af13d21 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 @@ -49303,6 +49303,12 @@ public class IrBlackBoxCodegenWithIrInlinerTestGenerated extends AbstractIrBlack runTest("compiler/testData/codegen/box/statics/anonymousInitializerInClassObject.kt"); } + @Test + @TestMetadata("enumWithInheritedStaticField.kt") + public void testEnumWithInheritedStaticField() throws Exception { + runTest("compiler/testData/codegen/box/statics/enumWithInheritedStaticField.kt"); + } + @Test @TestMetadata("fields.kt") public void testFields() throws Exception { diff --git a/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java b/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java index 886174882ec..c4e03d00e13 100644 --- a/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java +++ b/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java @@ -37969,6 +37969,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes runTest("compiler/testData/codegen/box/statics/anonymousInitializerInClassObject.kt"); } + @TestMetadata("enumWithInheritedStaticField.kt") + public void testEnumWithInheritedStaticField() throws Exception { + runTest("compiler/testData/codegen/box/statics/enumWithInheritedStaticField.kt"); + } + @TestMetadata("fields.kt") public void testFields() throws Exception { runTest("compiler/testData/codegen/box/statics/fields.kt");