diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosisCompilerTestFE10TestdataTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosisCompilerTestFE10TestdataTestGenerated.java index d85c1e36b22..ed02e9eb634 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosisCompilerTestFE10TestdataTestGenerated.java +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosisCompilerTestFE10TestdataTestGenerated.java @@ -9908,6 +9908,12 @@ public class DiagnosisCompilerTestFE10TestdataTestGenerated extends AbstractDiag runTest("compiler/testData/diagnostics/tests/enum/entryShouldBeOfEnumType.kt"); } + @Test + @TestMetadata("enumEntriesAmbiguity.kt") + public void testEnumEntriesAmbiguity() throws Exception { + runTest("compiler/testData/diagnostics/tests/enum/enumEntriesAmbiguity.kt"); + } + @Test @TestMetadata("enumEntryCannotHaveClassObject.kt") public void testEnumEntryCannotHaveClassObject() throws Exception { diff --git a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsTestGenerated.java b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsTestGenerated.java index 277a3d18b31..40f2808d556 100644 --- a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsTestGenerated.java +++ b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsTestGenerated.java @@ -9908,6 +9908,12 @@ public class FirOldFrontendDiagnosticsTestGenerated extends AbstractFirDiagnosti runTest("compiler/testData/diagnostics/tests/enum/entryShouldBeOfEnumType.kt"); } + @Test + @TestMetadata("enumEntriesAmbiguity.kt") + public void testEnumEntriesAmbiguity() throws Exception { + runTest("compiler/testData/diagnostics/tests/enum/enumEntriesAmbiguity.kt"); + } + @Test @TestMetadata("enumEntryCannotHaveClassObject.kt") public void testEnumEntryCannotHaveClassObject() throws Exception { diff --git a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsWithLightTreeTestGenerated.java b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsWithLightTreeTestGenerated.java index 665ad8d12ef..59adf74d78d 100644 --- a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsWithLightTreeTestGenerated.java +++ b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsWithLightTreeTestGenerated.java @@ -9908,6 +9908,12 @@ public class FirOldFrontendDiagnosticsWithLightTreeTestGenerated extends Abstrac runTest("compiler/testData/diagnostics/tests/enum/entryShouldBeOfEnumType.kt"); } + @Test + @TestMetadata("enumEntriesAmbiguity.kt") + public void testEnumEntriesAmbiguity() throws Exception { + runTest("compiler/testData/diagnostics/tests/enum/enumEntriesAmbiguity.kt"); + } + @Test @TestMetadata("enumEntryCannotHaveClassObject.kt") public void testEnumEntryCannotHaveClassObject() throws Exception { diff --git a/compiler/testData/diagnostics/tests/enum/enumEntriesAmbiguity.fir.kt b/compiler/testData/diagnostics/tests/enum/enumEntriesAmbiguity.fir.kt new file mode 100644 index 00000000000..5666e2e2dd2 --- /dev/null +++ b/compiler/testData/diagnostics/tests/enum/enumEntriesAmbiguity.fir.kt @@ -0,0 +1,8 @@ +// !LANGUAGE: +EnumEntries +// FIR_DUMP + +enum class Ambiguous { + first, entries; +} + +val e = Ambiguous.entries diff --git a/compiler/testData/diagnostics/tests/enum/enumEntriesAmbiguity.fir.txt b/compiler/testData/diagnostics/tests/enum/enumEntriesAmbiguity.fir.txt new file mode 100644 index 00000000000..7e3c1c7ed47 --- /dev/null +++ b/compiler/testData/diagnostics/tests/enum/enumEntriesAmbiguity.fir.txt @@ -0,0 +1,20 @@ +FILE: enumEntriesAmbiguity.fir.kt + public final enum class Ambiguous : R|kotlin/Enum| { + private constructor(): R|Ambiguous| { + super|>() + } + + public final static enum entry first: R|Ambiguous| + public final static enum entry entries: R|Ambiguous| + public final static fun values(): R|kotlin/Array| { + } + + public final static fun valueOf(value: R|kotlin/String|): R|Ambiguous| { + } + + public final static val entries: R|kotlin/enums/EnumEntries| + public get(): R|kotlin/enums/EnumEntries| + + } + public final val e: = Q|Ambiguous|.# + public get(): diff --git a/compiler/testData/diagnostics/tests/enum/enumEntriesAmbiguity.kt b/compiler/testData/diagnostics/tests/enum/enumEntriesAmbiguity.kt new file mode 100644 index 00000000000..357e3c82601 --- /dev/null +++ b/compiler/testData/diagnostics/tests/enum/enumEntriesAmbiguity.kt @@ -0,0 +1,8 @@ +// !LANGUAGE: +EnumEntries +// FIR_DUMP + +enum class Ambiguous { + first, entries; +} + +val e = Ambiguous.entries diff --git a/compiler/testData/diagnostics/tests/enum/enumEntriesAmbiguity.txt b/compiler/testData/diagnostics/tests/enum/enumEntriesAmbiguity.txt new file mode 100644 index 00000000000..6d279372a10 --- /dev/null +++ b/compiler/testData/diagnostics/tests/enum/enumEntriesAmbiguity.txt @@ -0,0 +1,24 @@ +package + +public val e: Ambiguous + +public final enum class Ambiguous : kotlin.Enum { + enum entry first + + enum entry entries + + private constructor Ambiguous() + @kotlin.internal.IntrinsicConstEvaluation public final override /*1*/ /*fake_override*/ val name: kotlin.String + public final override /*1*/ /*fake_override*/ val ordinal: kotlin.Int + protected final override /*1*/ /*fake_override*/ fun clone(): kotlin.Any + public final override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: Ambiguous): kotlin.Int + public final override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean + protected/*protected and package*/ final override /*1*/ /*fake_override*/ /*isHiddenForResolutionEverywhereBesideSupercalls*/ fun finalize(): kotlin.Unit + public final override /*1*/ /*fake_override*/ /*isHiddenForResolutionEverywhereBesideSupercalls*/ fun getDeclaringClass(): java.lang.Class! + public final override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int + public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + + // Static members + public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): Ambiguous + public final /*synthesized*/ fun values(): kotlin.Array +} diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java index 452551985ab..a8a3ba0eec1 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java @@ -9914,6 +9914,12 @@ public class DiagnosticTestGenerated extends AbstractDiagnosticTest { runTest("compiler/testData/diagnostics/tests/enum/entryShouldBeOfEnumType.kt"); } + @Test + @TestMetadata("enumEntriesAmbiguity.kt") + public void testEnumEntriesAmbiguity() throws Exception { + runTest("compiler/testData/diagnostics/tests/enum/enumEntriesAmbiguity.kt"); + } + @Test @TestMetadata("enumEntryCannotHaveClassObject.kt") public void testEnumEntryCannotHaveClassObject() throws Exception {