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 52914ef7910..f51b02d90b6 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 @@ -12934,6 +12934,12 @@ public class DiagnosisCompilerTestFE10TestdataTestGenerated extends AbstractDiag runTest("compiler/testData/diagnostics/tests/imports/DoubleImports.kt"); } + @Test + @TestMetadata("EnumEntryVsStaticAmbiguity.kt") + public void testEnumEntryVsStaticAmbiguity() throws Exception { + runTest("compiler/testData/diagnostics/tests/imports/EnumEntryVsStaticAmbiguity.kt"); + } + @Test @TestMetadata("ExplicitImportsAmbiguity.kt") public void testExplicitImportsAmbiguity() 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 9e0021461ad..e986b1bfd40 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 @@ -12934,6 +12934,12 @@ public class FirOldFrontendDiagnosticsTestGenerated extends AbstractFirDiagnosti runTest("compiler/testData/diagnostics/tests/imports/DoubleImports.kt"); } + @Test + @TestMetadata("EnumEntryVsStaticAmbiguity.kt") + public void testEnumEntryVsStaticAmbiguity() throws Exception { + runTest("compiler/testData/diagnostics/tests/imports/EnumEntryVsStaticAmbiguity.kt"); + } + @Test @TestMetadata("ExplicitImportsAmbiguity.kt") public void testExplicitImportsAmbiguity() 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 628e178b0f8..aa0fd212a51 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 @@ -12934,6 +12934,12 @@ public class FirOldFrontendDiagnosticsWithLightTreeTestGenerated extends Abstrac runTest("compiler/testData/diagnostics/tests/imports/DoubleImports.kt"); } + @Test + @TestMetadata("EnumEntryVsStaticAmbiguity.kt") + public void testEnumEntryVsStaticAmbiguity() throws Exception { + runTest("compiler/testData/diagnostics/tests/imports/EnumEntryVsStaticAmbiguity.kt"); + } + @Test @TestMetadata("ExplicitImportsAmbiguity.kt") public void testExplicitImportsAmbiguity() throws Exception { diff --git a/compiler/testData/diagnostics/tests/imports/EnumEntryVsStaticAmbiguity.fir.kt b/compiler/testData/diagnostics/tests/imports/EnumEntryVsStaticAmbiguity.fir.kt new file mode 100644 index 00000000000..17ecfc2a4f2 --- /dev/null +++ b/compiler/testData/diagnostics/tests/imports/EnumEntryVsStaticAmbiguity.fir.kt @@ -0,0 +1,28 @@ +// KT-49200 +// FILE: first/KtNodeTypes.java + +package first; + +public interface KtNodeTypes { + String SOME = "Some"; +} + +// FILE: SomeEnum.kt + +package second + +enum class SomeEnum { + SOME; +} + +// FILE: test.kt + +import first.KtNodeTypes.* +import second.SomeEnum.* + +fun test(arg: String): Boolean { + return when (arg) { + SOME -> true + else -> false + } +} diff --git a/compiler/testData/diagnostics/tests/imports/EnumEntryVsStaticAmbiguity.kt b/compiler/testData/diagnostics/tests/imports/EnumEntryVsStaticAmbiguity.kt new file mode 100644 index 00000000000..41d6adccc55 --- /dev/null +++ b/compiler/testData/diagnostics/tests/imports/EnumEntryVsStaticAmbiguity.kt @@ -0,0 +1,28 @@ +// KT-49200 +// FILE: first/KtNodeTypes.java + +package first; + +public interface KtNodeTypes { + String SOME = "Some"; +} + +// FILE: SomeEnum.kt + +package second + +enum class SomeEnum { + SOME; +} + +// FILE: test.kt + +import first.KtNodeTypes.* +import second.SomeEnum.* + +fun test(arg: String): Boolean { + return when (arg) { + SOME -> true + else -> false + } +} diff --git a/compiler/testData/diagnostics/tests/imports/EnumEntryVsStaticAmbiguity.txt b/compiler/testData/diagnostics/tests/imports/EnumEntryVsStaticAmbiguity.txt new file mode 100644 index 00000000000..9e2def9a15f --- /dev/null +++ b/compiler/testData/diagnostics/tests/imports/EnumEntryVsStaticAmbiguity.txt @@ -0,0 +1,37 @@ +package + +public fun test(/*0*/ arg: kotlin.String): kotlin.Boolean + +package first { + + public interface KtNodeTypes { + public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean + public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int + public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + + // Static members + public const final val SOME: kotlin.String = "Some" + } +} + +package second { + + public final enum class SomeEnum : kotlin.Enum { + enum entry SOME + + private constructor SomeEnum() + @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: second.SomeEnum): 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): second.SomeEnum + 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 7d04eca9231..48ed0783eb0 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 @@ -12940,6 +12940,12 @@ public class DiagnosticTestGenerated extends AbstractDiagnosticTest { runTest("compiler/testData/diagnostics/tests/imports/DoubleImports.kt"); } + @Test + @TestMetadata("EnumEntryVsStaticAmbiguity.kt") + public void testEnumEntryVsStaticAmbiguity() throws Exception { + runTest("compiler/testData/diagnostics/tests/imports/EnumEntryVsStaticAmbiguity.kt"); + } + @Test @TestMetadata("ExplicitImportsAmbiguity.kt") public void testExplicitImportsAmbiguity() throws Exception {