From 70899d492dbbe6c692f85c42d9a6311fd895f78e Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Thu, 25 May 2023 11:54:48 +0200 Subject: [PATCH] K2: reproduce KT-57954 and reorganize tests around enum entries warnings In particular, here we add FIR_DUMP to all enum entries tests with some deprecation diagnostics and the feature on, and remove all txt-files --- ...CompilerTestFE10TestdataTestGenerated.java | 24 ++++++ ...sticCompilerFE10TestDataTestGenerated.java | 24 ++++++ ...eeOldFrontendDiagnosticsTestGenerated.java | 24 ++++++ ...siOldFrontendDiagnosticsTestGenerated.java | 24 ++++++ ...conflictingPropertyEntriesAndReference.txt | 22 ------ ...ictingPropertyEntriesAndReferenceOn.fir.kt | 16 ++++ ...ctingPropertyEntriesAndReferenceOn.fir.txt | 25 +++++++ ...onflictingPropertyEntriesAndReferenceOn.kt | 16 ++++ .../entriesPropertyAsExtensionClash.txt | 31 -------- .../entriesPropertyAsExtensionClashOn.fir.kt | 1 + .../entriesPropertyAsExtensionClashOn.fir.txt | 44 +++++++++++ .../entriesPropertyAsExtensionClashOn.kt | 1 + .../entriesPropertyAsExtensionClashOn.txt | 31 -------- .../entries/entriesPropertyImportedClash.txt | 31 -------- .../entriesPropertyImportedClashOn.fir.kt | 1 + .../entriesPropertyImportedClashOn.fir.txt | 35 +++++++++ .../entries/entriesPropertyImportedClashOn.kt | 1 + .../entriesPropertyImportedClashOn.txt | 31 -------- .../entriesPropertyInCompanionClash.txt | 29 -------- .../entriesPropertyInCompanionClashOn.fir.kt | 1 + .../entriesPropertyInCompanionClashOn.fir.txt | 42 +++++++++++ .../entriesPropertyInCompanionClashOn.kt | 1 + .../entriesPropertyInCompanionClashOn.txt | 29 -------- .../entriesPropertyWithJvmStaticClash.txt | 29 -------- ...entriesPropertyWithJvmStaticClashOn.fir.kt | 22 ++++++ ...ntriesPropertyWithJvmStaticClashOn.fir.txt | 34 +++++++++ .../entriesPropertyWithJvmStaticClashOn.kt | 22 ++++++ .../tests/enum/entries/entriesUnsupported.txt | 23 ------ .../enum/entries/enumEntriesAmbiguity.txt | 25 ------- .../entries/genericEntriesPropertyClash.txt | 31 -------- .../genericEntriesPropertyClashOn.fir.kt | 18 +++++ .../genericEntriesPropertyClashOn.fir.txt | 33 +++++++++ .../entries/genericEntriesPropertyClashOn.kt | 18 +++++ .../enum/entries/javaEnumEntriesAmbiguity.txt | 62 ---------------- .../entries/javaEnumEntriesAmbiguityOn.fir.kt | 34 +++++++++ .../javaEnumEntriesAmbiguityOn.fir.txt | 6 ++ .../entries/javaEnumEntriesAmbiguityOn.kt | 34 +++++++++ ...ameShadowingOfExternallyDefinedEntries.txt | 66 ----------------- ...adowingOfExternallyDefinedEntriesOn.fir.kt | 1 + ...dowingOfExternallyDefinedEntriesOn.fir.txt | 74 +++++++++++++++++++ ...meShadowingOfExternallyDefinedEntriesOn.kt | 1 + ...eShadowingOfExternallyDefinedEntriesOn.txt | 66 ----------------- ...larationOfEnumEntriesNameWithIntrinsic.txt | 24 ------ ...ionOfEnumEntriesNameWithIntrinsicOn.fir.kt | 1 + ...onOfEnumEntriesNameWithIntrinsicOn.fir.txt | 23 ++++++ ...arationOfEnumEntriesNameWithIntrinsicOn.kt | 1 + ...rationOfEnumEntriesNameWithIntrinsicOn.txt | 24 ------ .../test/runners/DiagnosticTestGenerated.java | 24 ++++++ 48 files changed, 626 insertions(+), 554 deletions(-) delete mode 100644 compiler/testData/diagnostics/tests/enum/entries/conflictingPropertyEntriesAndReference.txt create mode 100644 compiler/testData/diagnostics/tests/enum/entries/conflictingPropertyEntriesAndReferenceOn.fir.kt create mode 100644 compiler/testData/diagnostics/tests/enum/entries/conflictingPropertyEntriesAndReferenceOn.fir.txt create mode 100644 compiler/testData/diagnostics/tests/enum/entries/conflictingPropertyEntriesAndReferenceOn.kt delete mode 100644 compiler/testData/diagnostics/tests/enum/entries/entriesPropertyAsExtensionClash.txt create mode 100644 compiler/testData/diagnostics/tests/enum/entries/entriesPropertyAsExtensionClashOn.fir.txt delete mode 100644 compiler/testData/diagnostics/tests/enum/entries/entriesPropertyAsExtensionClashOn.txt delete mode 100644 compiler/testData/diagnostics/tests/enum/entries/entriesPropertyImportedClash.txt create mode 100644 compiler/testData/diagnostics/tests/enum/entries/entriesPropertyImportedClashOn.fir.txt delete mode 100644 compiler/testData/diagnostics/tests/enum/entries/entriesPropertyImportedClashOn.txt delete mode 100644 compiler/testData/diagnostics/tests/enum/entries/entriesPropertyInCompanionClash.txt create mode 100644 compiler/testData/diagnostics/tests/enum/entries/entriesPropertyInCompanionClashOn.fir.txt delete mode 100644 compiler/testData/diagnostics/tests/enum/entries/entriesPropertyInCompanionClashOn.txt delete mode 100644 compiler/testData/diagnostics/tests/enum/entries/entriesPropertyWithJvmStaticClash.txt create mode 100644 compiler/testData/diagnostics/tests/enum/entries/entriesPropertyWithJvmStaticClashOn.fir.kt create mode 100644 compiler/testData/diagnostics/tests/enum/entries/entriesPropertyWithJvmStaticClashOn.fir.txt create mode 100644 compiler/testData/diagnostics/tests/enum/entries/entriesPropertyWithJvmStaticClashOn.kt delete mode 100644 compiler/testData/diagnostics/tests/enum/entries/entriesUnsupported.txt delete mode 100644 compiler/testData/diagnostics/tests/enum/entries/enumEntriesAmbiguity.txt delete mode 100644 compiler/testData/diagnostics/tests/enum/entries/genericEntriesPropertyClash.txt create mode 100644 compiler/testData/diagnostics/tests/enum/entries/genericEntriesPropertyClashOn.fir.kt create mode 100644 compiler/testData/diagnostics/tests/enum/entries/genericEntriesPropertyClashOn.fir.txt create mode 100644 compiler/testData/diagnostics/tests/enum/entries/genericEntriesPropertyClashOn.kt delete mode 100644 compiler/testData/diagnostics/tests/enum/entries/javaEnumEntriesAmbiguity.txt create mode 100644 compiler/testData/diagnostics/tests/enum/entries/javaEnumEntriesAmbiguityOn.fir.kt create mode 100644 compiler/testData/diagnostics/tests/enum/entries/javaEnumEntriesAmbiguityOn.fir.txt create mode 100644 compiler/testData/diagnostics/tests/enum/entries/javaEnumEntriesAmbiguityOn.kt delete mode 100644 compiler/testData/diagnostics/tests/enum/entries/nameShadowingOfExternallyDefinedEntries.txt create mode 100644 compiler/testData/diagnostics/tests/enum/entries/nameShadowingOfExternallyDefinedEntriesOn.fir.txt delete mode 100644 compiler/testData/diagnostics/tests/enum/entries/nameShadowingOfExternallyDefinedEntriesOn.txt delete mode 100644 compiler/testData/diagnostics/tests/enum/entries/redeclarationOfEnumEntriesNameWithIntrinsic.txt create mode 100644 compiler/testData/diagnostics/tests/enum/entries/redeclarationOfEnumEntriesNameWithIntrinsicOn.fir.txt delete mode 100644 compiler/testData/diagnostics/tests/enum/entries/redeclarationOfEnumEntriesNameWithIntrinsicOn.txt diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosticCompilerTestFE10TestdataTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosticCompilerTestFE10TestdataTestGenerated.java index 78a701d8f4f..38c3ca79816 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosticCompilerTestFE10TestdataTestGenerated.java +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosticCompilerTestFE10TestdataTestGenerated.java @@ -11065,6 +11065,12 @@ public class DiagnosticCompilerTestFE10TestdataTestGenerated extends AbstractDia runTest("compiler/testData/diagnostics/tests/enum/entries/conflictingPropertyEntriesAndReference.kt"); } + @Test + @TestMetadata("conflictingPropertyEntriesAndReferenceOn.kt") + public void testConflictingPropertyEntriesAndReferenceOn() throws Exception { + runTest("compiler/testData/diagnostics/tests/enum/entries/conflictingPropertyEntriesAndReferenceOn.kt"); + } + @Test @TestMetadata("entriesPropertyAsExtensionClash.kt") public void testEntriesPropertyAsExtensionClash() throws Exception { @@ -11107,6 +11113,12 @@ public class DiagnosticCompilerTestFE10TestdataTestGenerated extends AbstractDia runTest("compiler/testData/diagnostics/tests/enum/entries/entriesPropertyWithJvmStaticClash.kt"); } + @Test + @TestMetadata("entriesPropertyWithJvmStaticClashOn.kt") + public void testEntriesPropertyWithJvmStaticClashOn() throws Exception { + runTest("compiler/testData/diagnostics/tests/enum/entries/entriesPropertyWithJvmStaticClashOn.kt"); + } + @Test @TestMetadata("entriesUnsupported.kt") public void testEntriesUnsupported() throws Exception { @@ -11125,12 +11137,24 @@ public class DiagnosticCompilerTestFE10TestdataTestGenerated extends AbstractDia runTest("compiler/testData/diagnostics/tests/enum/entries/genericEntriesPropertyClash.kt"); } + @Test + @TestMetadata("genericEntriesPropertyClashOn.kt") + public void testGenericEntriesPropertyClashOn() throws Exception { + runTest("compiler/testData/diagnostics/tests/enum/entries/genericEntriesPropertyClashOn.kt"); + } + @Test @TestMetadata("javaEnumEntriesAmbiguity.kt") public void testJavaEnumEntriesAmbiguity() throws Exception { runTest("compiler/testData/diagnostics/tests/enum/entries/javaEnumEntriesAmbiguity.kt"); } + @Test + @TestMetadata("javaEnumEntriesAmbiguityOn.kt") + public void testJavaEnumEntriesAmbiguityOn() throws Exception { + runTest("compiler/testData/diagnostics/tests/enum/entries/javaEnumEntriesAmbiguityOn.kt"); + } + @Test @TestMetadata("nameShadowingOfExternallyDefinedEntries.kt") public void testNameShadowingOfExternallyDefinedEntries() throws Exception { diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated.java index ba508f703fe..301c28edca6 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated.java +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated.java @@ -11065,6 +11065,12 @@ public class LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated runTest("compiler/testData/diagnostics/tests/enum/entries/conflictingPropertyEntriesAndReference.kt"); } + @Test + @TestMetadata("conflictingPropertyEntriesAndReferenceOn.kt") + public void testConflictingPropertyEntriesAndReferenceOn() throws Exception { + runTest("compiler/testData/diagnostics/tests/enum/entries/conflictingPropertyEntriesAndReferenceOn.kt"); + } + @Test @TestMetadata("entriesPropertyAsExtensionClash.kt") public void testEntriesPropertyAsExtensionClash() throws Exception { @@ -11107,6 +11113,12 @@ public class LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated runTest("compiler/testData/diagnostics/tests/enum/entries/entriesPropertyWithJvmStaticClash.kt"); } + @Test + @TestMetadata("entriesPropertyWithJvmStaticClashOn.kt") + public void testEntriesPropertyWithJvmStaticClashOn() throws Exception { + runTest("compiler/testData/diagnostics/tests/enum/entries/entriesPropertyWithJvmStaticClashOn.kt"); + } + @Test @TestMetadata("entriesUnsupported.kt") public void testEntriesUnsupported() throws Exception { @@ -11125,12 +11137,24 @@ public class LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated runTest("compiler/testData/diagnostics/tests/enum/entries/genericEntriesPropertyClash.kt"); } + @Test + @TestMetadata("genericEntriesPropertyClashOn.kt") + public void testGenericEntriesPropertyClashOn() throws Exception { + runTest("compiler/testData/diagnostics/tests/enum/entries/genericEntriesPropertyClashOn.kt"); + } + @Test @TestMetadata("javaEnumEntriesAmbiguity.kt") public void testJavaEnumEntriesAmbiguity() throws Exception { runTest("compiler/testData/diagnostics/tests/enum/entries/javaEnumEntriesAmbiguity.kt"); } + @Test + @TestMetadata("javaEnumEntriesAmbiguityOn.kt") + public void testJavaEnumEntriesAmbiguityOn() throws Exception { + runTest("compiler/testData/diagnostics/tests/enum/entries/javaEnumEntriesAmbiguityOn.kt"); + } + @Test @TestMetadata("nameShadowingOfExternallyDefinedEntries.kt") public void testNameShadowingOfExternallyDefinedEntries() throws Exception { diff --git a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeOldFrontendDiagnosticsTestGenerated.java b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeOldFrontendDiagnosticsTestGenerated.java index 20bab3559df..1811450e002 100644 --- a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeOldFrontendDiagnosticsTestGenerated.java +++ b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeOldFrontendDiagnosticsTestGenerated.java @@ -11065,6 +11065,12 @@ public class FirLightTreeOldFrontendDiagnosticsTestGenerated extends AbstractFir runTest("compiler/testData/diagnostics/tests/enum/entries/conflictingPropertyEntriesAndReference.kt"); } + @Test + @TestMetadata("conflictingPropertyEntriesAndReferenceOn.kt") + public void testConflictingPropertyEntriesAndReferenceOn() throws Exception { + runTest("compiler/testData/diagnostics/tests/enum/entries/conflictingPropertyEntriesAndReferenceOn.kt"); + } + @Test @TestMetadata("entriesPropertyAsExtensionClash.kt") public void testEntriesPropertyAsExtensionClash() throws Exception { @@ -11107,6 +11113,12 @@ public class FirLightTreeOldFrontendDiagnosticsTestGenerated extends AbstractFir runTest("compiler/testData/diagnostics/tests/enum/entries/entriesPropertyWithJvmStaticClash.kt"); } + @Test + @TestMetadata("entriesPropertyWithJvmStaticClashOn.kt") + public void testEntriesPropertyWithJvmStaticClashOn() throws Exception { + runTest("compiler/testData/diagnostics/tests/enum/entries/entriesPropertyWithJvmStaticClashOn.kt"); + } + @Test @TestMetadata("entriesUnsupported.kt") public void testEntriesUnsupported() throws Exception { @@ -11125,12 +11137,24 @@ public class FirLightTreeOldFrontendDiagnosticsTestGenerated extends AbstractFir runTest("compiler/testData/diagnostics/tests/enum/entries/genericEntriesPropertyClash.kt"); } + @Test + @TestMetadata("genericEntriesPropertyClashOn.kt") + public void testGenericEntriesPropertyClashOn() throws Exception { + runTest("compiler/testData/diagnostics/tests/enum/entries/genericEntriesPropertyClashOn.kt"); + } + @Test @TestMetadata("javaEnumEntriesAmbiguity.kt") public void testJavaEnumEntriesAmbiguity() throws Exception { runTest("compiler/testData/diagnostics/tests/enum/entries/javaEnumEntriesAmbiguity.kt"); } + @Test + @TestMetadata("javaEnumEntriesAmbiguityOn.kt") + public void testJavaEnumEntriesAmbiguityOn() throws Exception { + runTest("compiler/testData/diagnostics/tests/enum/entries/javaEnumEntriesAmbiguityOn.kt"); + } + @Test @TestMetadata("nameShadowingOfExternallyDefinedEntries.kt") public void testNameShadowingOfExternallyDefinedEntries() throws Exception { diff --git a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirPsiOldFrontendDiagnosticsTestGenerated.java b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirPsiOldFrontendDiagnosticsTestGenerated.java index a2c817a62b9..5a54463894c 100644 --- a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirPsiOldFrontendDiagnosticsTestGenerated.java +++ b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirPsiOldFrontendDiagnosticsTestGenerated.java @@ -11071,6 +11071,12 @@ public class FirPsiOldFrontendDiagnosticsTestGenerated extends AbstractFirPsiDia runTest("compiler/testData/diagnostics/tests/enum/entries/conflictingPropertyEntriesAndReference.kt"); } + @Test + @TestMetadata("conflictingPropertyEntriesAndReferenceOn.kt") + public void testConflictingPropertyEntriesAndReferenceOn() throws Exception { + runTest("compiler/testData/diagnostics/tests/enum/entries/conflictingPropertyEntriesAndReferenceOn.kt"); + } + @Test @TestMetadata("entriesPropertyAsExtensionClash.kt") public void testEntriesPropertyAsExtensionClash() throws Exception { @@ -11113,6 +11119,12 @@ public class FirPsiOldFrontendDiagnosticsTestGenerated extends AbstractFirPsiDia runTest("compiler/testData/diagnostics/tests/enum/entries/entriesPropertyWithJvmStaticClash.kt"); } + @Test + @TestMetadata("entriesPropertyWithJvmStaticClashOn.kt") + public void testEntriesPropertyWithJvmStaticClashOn() throws Exception { + runTest("compiler/testData/diagnostics/tests/enum/entries/entriesPropertyWithJvmStaticClashOn.kt"); + } + @Test @TestMetadata("entriesUnsupported.kt") public void testEntriesUnsupported() throws Exception { @@ -11131,12 +11143,24 @@ public class FirPsiOldFrontendDiagnosticsTestGenerated extends AbstractFirPsiDia runTest("compiler/testData/diagnostics/tests/enum/entries/genericEntriesPropertyClash.kt"); } + @Test + @TestMetadata("genericEntriesPropertyClashOn.kt") + public void testGenericEntriesPropertyClashOn() throws Exception { + runTest("compiler/testData/diagnostics/tests/enum/entries/genericEntriesPropertyClashOn.kt"); + } + @Test @TestMetadata("javaEnumEntriesAmbiguity.kt") public void testJavaEnumEntriesAmbiguity() throws Exception { runTest("compiler/testData/diagnostics/tests/enum/entries/javaEnumEntriesAmbiguity.kt"); } + @Test + @TestMetadata("javaEnumEntriesAmbiguityOn.kt") + public void testJavaEnumEntriesAmbiguityOn() throws Exception { + runTest("compiler/testData/diagnostics/tests/enum/entries/javaEnumEntriesAmbiguityOn.kt"); + } + @Test @TestMetadata("nameShadowingOfExternallyDefinedEntries.kt") public void testNameShadowingOfExternallyDefinedEntries() throws Exception { diff --git a/compiler/testData/diagnostics/tests/enum/entries/conflictingPropertyEntriesAndReference.txt b/compiler/testData/diagnostics/tests/enum/entries/conflictingPropertyEntriesAndReference.txt deleted file mode 100644 index 3b95878fa15..00000000000 --- a/compiler/testData/diagnostics/tests/enum/entries/conflictingPropertyEntriesAndReference.txt +++ /dev/null @@ -1,22 +0,0 @@ -package - -public fun test(): kotlin.Unit - -public final enum class E : kotlin.Enum { - private constructor E() - public final val entries: kotlin.Int = 0 - @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: E): 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*/ val entries: kotlin.enums.EnumEntries - public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): E - public final /*synthesized*/ fun values(): kotlin.Array -} diff --git a/compiler/testData/diagnostics/tests/enum/entries/conflictingPropertyEntriesAndReferenceOn.fir.kt b/compiler/testData/diagnostics/tests/enum/entries/conflictingPropertyEntriesAndReferenceOn.fir.kt new file mode 100644 index 00000000000..0fba517723c --- /dev/null +++ b/compiler/testData/diagnostics/tests/enum/entries/conflictingPropertyEntriesAndReferenceOn.fir.kt @@ -0,0 +1,16 @@ +// !LANGUAGE: +EnumEntries +// WITH_STDLIB +// FIR_DUMP + +enum class E { + ; + + val entries: Int = 0 +} + +fun test() { + E::entries + val ref = E::entries + val refType: (E) -> Int = E::entries + val refTypeWithAnyExpectedType: Any = E::entries +} diff --git a/compiler/testData/diagnostics/tests/enum/entries/conflictingPropertyEntriesAndReferenceOn.fir.txt b/compiler/testData/diagnostics/tests/enum/entries/conflictingPropertyEntriesAndReferenceOn.fir.txt new file mode 100644 index 00000000000..39d91ebd183 --- /dev/null +++ b/compiler/testData/diagnostics/tests/enum/entries/conflictingPropertyEntriesAndReferenceOn.fir.txt @@ -0,0 +1,25 @@ +FILE: conflictingPropertyEntriesAndReferenceOn.fir.kt + public final enum class E : R|kotlin/Enum| { + private constructor(): R|E| { + super|>() + } + + public final val entries: R|kotlin/Int| = Int(0) + public get(): R|kotlin/Int| + + public final static fun values(): R|kotlin/Array| { + } + + public final static fun valueOf(value: R|kotlin/String|): R|E| { + } + + public final static val entries: R|kotlin/enums/EnumEntries| + public get(): R|kotlin/enums/EnumEntries| + + } + public final fun test(): R|kotlin/Unit| { + Q|E|::R|/E.entries| + lval ref: R|kotlin/reflect/KProperty0>| = Q|E|::R|/E.entries| + lval refType: R|(E) -> kotlin/Int| = Q|E|::R|/E.entries| + lval refTypeWithAnyExpectedType: R|kotlin/Any| = Q|E|::R|/E.entries| + } diff --git a/compiler/testData/diagnostics/tests/enum/entries/conflictingPropertyEntriesAndReferenceOn.kt b/compiler/testData/diagnostics/tests/enum/entries/conflictingPropertyEntriesAndReferenceOn.kt new file mode 100644 index 00000000000..08251f24eb7 --- /dev/null +++ b/compiler/testData/diagnostics/tests/enum/entries/conflictingPropertyEntriesAndReferenceOn.kt @@ -0,0 +1,16 @@ +// !LANGUAGE: +EnumEntries +// WITH_STDLIB +// FIR_DUMP + +enum class E { + ; + + val entries: Int = 0 +} + +fun test() { + E::entries + val ref = E::entries + val refType: (E) -> Int = E::entries + val refTypeWithAnyExpectedType: Any = E::entries +} diff --git a/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyAsExtensionClash.txt b/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyAsExtensionClash.txt deleted file mode 100644 index 3df66f96b7d..00000000000 --- a/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyAsExtensionClash.txt +++ /dev/null @@ -1,31 +0,0 @@ -package - -package pckg { - public val pckg.A.Companion.entries: kotlin.Int - public fun test(): kotlin.Unit - - public final enum class A : kotlin.Enum { - private constructor A() - @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: pckg.A): 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 - - public companion object Companion { - private constructor Companion() - 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 final /*synthesized*/ val entries: kotlin.enums.EnumEntries - public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): pckg.A - public final /*synthesized*/ fun values(): kotlin.Array - } -} diff --git a/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyAsExtensionClashOn.fir.kt b/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyAsExtensionClashOn.fir.kt index 9fe5ae7a50a..776f7da67ea 100644 --- a/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyAsExtensionClashOn.fir.kt +++ b/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyAsExtensionClashOn.fir.kt @@ -1,5 +1,6 @@ // !LANGUAGE: +EnumEntries // WITH_STDLIB +// FIR_DUMP package pckg diff --git a/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyAsExtensionClashOn.fir.txt b/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyAsExtensionClashOn.fir.txt new file mode 100644 index 00000000000..84c20a6d099 --- /dev/null +++ b/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyAsExtensionClashOn.fir.txt @@ -0,0 +1,44 @@ +FILE: entriesPropertyAsExtensionClashOn.fir.kt + package pckg + + public final enum class A : R|kotlin/Enum| { + private constructor(): R|pckg/A| { + super|>() + } + + public final companion object Companion : R|kotlin/Any| { + private constructor(): R|pckg/A.Companion| { + super() + } + + } + + public final static fun values(): R|kotlin/Array| { + } + + public final static fun valueOf(value: R|kotlin/String|): R|pckg/A| { + } + + public final static val entries: R|kotlin/enums/EnumEntries| + public get(): R|kotlin/enums/EnumEntries| + + } + public final val R|pckg/A.Companion|.entries: R|kotlin/Int| + public get(): R|kotlin/Int| { + ^ Int(0) + } + public final fun test(): R|kotlin/Unit| { + Q|pckg/A|.R|pckg/A.entries| + Q|pckg/A.Companion|.R|pckg/entries| + R|kotlin/with|(Q|pckg/A|, = with@fun R|pckg/A.Companion|.(): R|kotlin/Int| { + this@R|special/anonymous|.R|pckg/entries| + ^ this@R|special/anonymous|.R|pckg/entries| + } + ) + R|kotlin/with|(Q|pckg/A.Companion|, = with@fun R|pckg/A.Companion|.(): R|kotlin/Int| { + ^ this@R|special/anonymous|.R|pckg/entries| + } + ) + lval aCompanion: R|pckg/A.Companion| = Q|pckg/A.Companion| + R|/aCompanion|.R|pckg/entries| + } diff --git a/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyAsExtensionClashOn.kt b/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyAsExtensionClashOn.kt index 4b9211962af..4b518253561 100644 --- a/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyAsExtensionClashOn.kt +++ b/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyAsExtensionClashOn.kt @@ -1,5 +1,6 @@ // !LANGUAGE: +EnumEntries // WITH_STDLIB +// FIR_DUMP package pckg diff --git a/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyAsExtensionClashOn.txt b/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyAsExtensionClashOn.txt deleted file mode 100644 index 3df66f96b7d..00000000000 --- a/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyAsExtensionClashOn.txt +++ /dev/null @@ -1,31 +0,0 @@ -package - -package pckg { - public val pckg.A.Companion.entries: kotlin.Int - public fun test(): kotlin.Unit - - public final enum class A : kotlin.Enum { - private constructor A() - @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: pckg.A): 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 - - public companion object Companion { - private constructor Companion() - 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 final /*synthesized*/ val entries: kotlin.enums.EnumEntries - public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): pckg.A - public final /*synthesized*/ fun values(): kotlin.Array - } -} diff --git a/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyImportedClash.txt b/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyImportedClash.txt deleted file mode 100644 index a791f876d40..00000000000 --- a/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyImportedClash.txt +++ /dev/null @@ -1,31 +0,0 @@ -package - -package foo { - public fun test(): kotlin.Unit - - public final enum class A : kotlin.Enum { - private constructor A() - @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: foo.A): 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 - - public companion object Companion { - private constructor Companion() - public final val entries: kotlin.Int = 0 - 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 final /*synthesized*/ val entries: kotlin.enums.EnumEntries - public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): foo.A - public final /*synthesized*/ fun values(): kotlin.Array - } -} diff --git a/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyImportedClashOn.fir.kt b/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyImportedClashOn.fir.kt index 61b679a0854..e7b4de44288 100644 --- a/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyImportedClashOn.fir.kt +++ b/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyImportedClashOn.fir.kt @@ -1,5 +1,6 @@ // !LANGUAGE: +EnumEntries // WITH_STDLIB +// FIR_DUMP package foo diff --git a/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyImportedClashOn.fir.txt b/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyImportedClashOn.fir.txt new file mode 100644 index 00000000000..8b9e2ec1d62 --- /dev/null +++ b/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyImportedClashOn.fir.txt @@ -0,0 +1,35 @@ +FILE: entriesPropertyImportedClashOn.fir.kt + package foo + + public final enum class A : R|kotlin/Enum| { + private constructor(): R|foo/A| { + super|>() + } + + public final companion object Companion : R|kotlin/Any| { + private constructor(): R|foo/A.Companion| { + super() + } + + public final val entries: R|kotlin/Int| = Int(0) + public get(): R|kotlin/Int| + + } + + public final static fun values(): R|kotlin/Array| { + } + + public final static fun valueOf(value: R|kotlin/String|): R|foo/A| { + } + + public final static val entries: R|kotlin/enums/EnumEntries| + public get(): R|kotlin/enums/EnumEntries| + + } + public final fun test(): R|kotlin/Unit| { + Q|foo/A|.R|foo/A.entries| + R|kotlin/with|(Q|foo/A|, = with@fun R|foo/A.Companion|.(): R|kotlin/Int| { + ^ this@R|special/anonymous|.R|foo/A.Companion.entries| + } + ) + } diff --git a/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyImportedClashOn.kt b/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyImportedClashOn.kt index 4e7cf48a404..5f0809dcd82 100644 --- a/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyImportedClashOn.kt +++ b/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyImportedClashOn.kt @@ -1,5 +1,6 @@ // !LANGUAGE: +EnumEntries // WITH_STDLIB +// FIR_DUMP package foo diff --git a/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyImportedClashOn.txt b/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyImportedClashOn.txt deleted file mode 100644 index a791f876d40..00000000000 --- a/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyImportedClashOn.txt +++ /dev/null @@ -1,31 +0,0 @@ -package - -package foo { - public fun test(): kotlin.Unit - - public final enum class A : kotlin.Enum { - private constructor A() - @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: foo.A): 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 - - public companion object Companion { - private constructor Companion() - public final val entries: kotlin.Int = 0 - 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 final /*synthesized*/ val entries: kotlin.enums.EnumEntries - public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): foo.A - public final /*synthesized*/ fun values(): kotlin.Array - } -} diff --git a/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyInCompanionClash.txt b/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyInCompanionClash.txt deleted file mode 100644 index 75d73c2d3e7..00000000000 --- a/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyInCompanionClash.txt +++ /dev/null @@ -1,29 +0,0 @@ -package - -public fun test(): kotlin.Unit - -public final enum class A : kotlin.Enum { - private constructor A() - @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: A): 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 - - public companion object Companion { - private constructor Companion() - public final val entries: kotlin.Int = 0 - 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 final /*synthesized*/ val entries: kotlin.enums.EnumEntries - public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): A - public final /*synthesized*/ fun values(): kotlin.Array -} diff --git a/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyInCompanionClashOn.fir.kt b/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyInCompanionClashOn.fir.kt index 6bb04e0fdad..85c8a1809ef 100644 --- a/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyInCompanionClashOn.fir.kt +++ b/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyInCompanionClashOn.fir.kt @@ -1,5 +1,6 @@ // !LANGUAGE: +EnumEntries // WITH_STDLIB +// FIR_DUMP enum class A { ; diff --git a/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyInCompanionClashOn.fir.txt b/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyInCompanionClashOn.fir.txt new file mode 100644 index 00000000000..326234a9790 --- /dev/null +++ b/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyInCompanionClashOn.fir.txt @@ -0,0 +1,42 @@ +FILE: entriesPropertyInCompanionClashOn.fir.kt + public final enum class A : R|kotlin/Enum| { + private constructor(): R|A| { + super|>() + } + + public final companion object Companion : R|kotlin/Any| { + private constructor(): R|A.Companion| { + super() + } + + public final val entries: R|kotlin/Int| = Int(0) + public get(): R|kotlin/Int| + + } + + public final static fun values(): R|kotlin/Array| { + } + + public final static fun valueOf(value: R|kotlin/String|): R|A| { + } + + public final static val entries: R|kotlin/enums/EnumEntries| + public get(): R|kotlin/enums/EnumEntries| + + } + public final fun test(): R|kotlin/Unit| { + Q|A|.R|/A.entries| + Q|A.Companion|.R|/A.Companion.entries| + R|kotlin/with#|>(Q|A|, = with@fun R|A.Companion|.(): { + this@R|special/anonymous|.R|/A.Companion.entries| + this@R|special/anonymous|.R|/A.Companion.entries| + ^ #() + } + ) + R|kotlin/with|(Q|A.Companion|, = with@fun R|A.Companion|.(): R|kotlin/Int| { + ^ this@R|special/anonymous|.R|/A.Companion.entries| + } + ) + lval aCompanion: R|A.Companion| = Q|A.Companion| + R|/aCompanion|.R|/A.Companion.entries| + } diff --git a/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyInCompanionClashOn.kt b/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyInCompanionClashOn.kt index 16b4edaebe7..a5806e98f9f 100644 --- a/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyInCompanionClashOn.kt +++ b/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyInCompanionClashOn.kt @@ -1,5 +1,6 @@ // !LANGUAGE: +EnumEntries // WITH_STDLIB +// FIR_DUMP enum class A { ; diff --git a/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyInCompanionClashOn.txt b/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyInCompanionClashOn.txt deleted file mode 100644 index 75d73c2d3e7..00000000000 --- a/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyInCompanionClashOn.txt +++ /dev/null @@ -1,29 +0,0 @@ -package - -public fun test(): kotlin.Unit - -public final enum class A : kotlin.Enum { - private constructor A() - @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: A): 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 - - public companion object Companion { - private constructor Companion() - public final val entries: kotlin.Int = 0 - 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 final /*synthesized*/ val entries: kotlin.enums.EnumEntries - public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): A - public final /*synthesized*/ fun values(): kotlin.Array -} diff --git a/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyWithJvmStaticClash.txt b/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyWithJvmStaticClash.txt deleted file mode 100644 index 1c38ee3f160..00000000000 --- a/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyWithJvmStaticClash.txt +++ /dev/null @@ -1,29 +0,0 @@ -package - -public fun test(): kotlin.Unit - -public final enum class A : kotlin.Enum { - private constructor A() - @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: A): 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 - - public companion object Companion { - private constructor Companion() - @kotlin.jvm.JvmStatic public final val entries: kotlin.Int = 0 - 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 final /*synthesized*/ val entries: kotlin.enums.EnumEntries - public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): A - public final /*synthesized*/ fun values(): kotlin.Array -} diff --git a/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyWithJvmStaticClashOn.fir.kt b/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyWithJvmStaticClashOn.fir.kt new file mode 100644 index 00000000000..efa2b4b23f7 --- /dev/null +++ b/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyWithJvmStaticClashOn.fir.kt @@ -0,0 +1,22 @@ +// !LANGUAGE: +EnumEntries +// WITH_STDLIB +// FIR_DUMP + +enum class A { + ; + + companion object { + @JvmStatic + val entries = 0 + } +} + +fun test() { + A.entries + + with(A) { + entries + } + + A.Companion.entries +} diff --git a/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyWithJvmStaticClashOn.fir.txt b/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyWithJvmStaticClashOn.fir.txt new file mode 100644 index 00000000000..1037803a251 --- /dev/null +++ b/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyWithJvmStaticClashOn.fir.txt @@ -0,0 +1,34 @@ +FILE: entriesPropertyWithJvmStaticClashOn.fir.kt + public final enum class A : R|kotlin/Enum| { + private constructor(): R|A| { + super|>() + } + + public final companion object Companion : R|kotlin/Any| { + private constructor(): R|A.Companion| { + super() + } + + @R|kotlin/jvm/JvmStatic|() public final val entries: R|kotlin/Int| = Int(0) + public get(): R|kotlin/Int| + + } + + public final static fun values(): R|kotlin/Array| { + } + + public final static fun valueOf(value: R|kotlin/String|): R|A| { + } + + public final static val entries: R|kotlin/enums/EnumEntries| + public get(): R|kotlin/enums/EnumEntries| + + } + public final fun test(): R|kotlin/Unit| { + Q|A|.R|/A.entries| + R|kotlin/with|(Q|A|, = with@fun R|A.Companion|.(): R|kotlin/Int| { + ^ this@R|special/anonymous|.R|/A.Companion.entries| + } + ) + Q|A.Companion|.R|/A.Companion.entries| + } diff --git a/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyWithJvmStaticClashOn.kt b/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyWithJvmStaticClashOn.kt new file mode 100644 index 00000000000..c015fe52293 --- /dev/null +++ b/compiler/testData/diagnostics/tests/enum/entries/entriesPropertyWithJvmStaticClashOn.kt @@ -0,0 +1,22 @@ +// !LANGUAGE: +EnumEntries +// WITH_STDLIB +// FIR_DUMP + +enum class A { + ; + + companion object { + @JvmStatic + val entries = 0 + } +} + +fun test() { + A.entries + + with(A) { + entries + } + + A.Companion.entries +} diff --git a/compiler/testData/diagnostics/tests/enum/entries/entriesUnsupported.txt b/compiler/testData/diagnostics/tests/enum/entries/entriesUnsupported.txt deleted file mode 100644 index 83ba52c4b60..00000000000 --- a/compiler/testData/diagnostics/tests/enum/entries/entriesUnsupported.txt +++ /dev/null @@ -1,23 +0,0 @@ -package - -public fun main(): kotlin.Unit - -public final enum class Foo : kotlin.Enum { - enum entry BAR - - private constructor Foo() - @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: Foo): 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*/ val entries: kotlin.enums.EnumEntries - public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): Foo - public final /*synthesized*/ fun values(): kotlin.Array -} diff --git a/compiler/testData/diagnostics/tests/enum/entries/enumEntriesAmbiguity.txt b/compiler/testData/diagnostics/tests/enum/entries/enumEntriesAmbiguity.txt deleted file mode 100644 index f224cf3a622..00000000000 --- a/compiler/testData/diagnostics/tests/enum/entries/enumEntriesAmbiguity.txt +++ /dev/null @@ -1,25 +0,0 @@ -package - -public val e: kotlin.Int - -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*/ val entries: kotlin.enums.EnumEntries - public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): Ambiguous - public final /*synthesized*/ fun values(): kotlin.Array -} diff --git a/compiler/testData/diagnostics/tests/enum/entries/genericEntriesPropertyClash.txt b/compiler/testData/diagnostics/tests/enum/entries/genericEntriesPropertyClash.txt deleted file mode 100644 index 5f452993c2a..00000000000 --- a/compiler/testData/diagnostics/tests/enum/entries/genericEntriesPropertyClash.txt +++ /dev/null @@ -1,31 +0,0 @@ -package - -package pckg { - public val T.entries: kotlin.Int - public fun test(): kotlin.Unit - - public final enum class A : kotlin.Enum { - private constructor A() - @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: pckg.A): 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 - - public companion object Companion { - private constructor Companion() - 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 final /*synthesized*/ val entries: kotlin.enums.EnumEntries - public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): pckg.A - public final /*synthesized*/ fun values(): kotlin.Array - } -} diff --git a/compiler/testData/diagnostics/tests/enum/entries/genericEntriesPropertyClashOn.fir.kt b/compiler/testData/diagnostics/tests/enum/entries/genericEntriesPropertyClashOn.fir.kt new file mode 100644 index 00000000000..3014485d4ac --- /dev/null +++ b/compiler/testData/diagnostics/tests/enum/entries/genericEntriesPropertyClashOn.fir.kt @@ -0,0 +1,18 @@ +// !LANGUAGE: +EnumEntries +// WITH_STDLIB +// FIR_DUMP + +package pckg + +enum class A { + ; + + companion object +} + +val T.entries: Int get() = 0 + +fun test() { + A.entries + A.Companion.entries +} diff --git a/compiler/testData/diagnostics/tests/enum/entries/genericEntriesPropertyClashOn.fir.txt b/compiler/testData/diagnostics/tests/enum/entries/genericEntriesPropertyClashOn.fir.txt new file mode 100644 index 00000000000..f13286f5833 --- /dev/null +++ b/compiler/testData/diagnostics/tests/enum/entries/genericEntriesPropertyClashOn.fir.txt @@ -0,0 +1,33 @@ +FILE: genericEntriesPropertyClashOn.fir.kt + package pckg + + public final enum class A : R|kotlin/Enum| { + private constructor(): R|pckg/A| { + super|>() + } + + public final companion object Companion : R|kotlin/Any| { + private constructor(): R|pckg/A.Companion| { + super() + } + + } + + public final static fun values(): R|kotlin/Array| { + } + + public final static fun valueOf(value: R|kotlin/String|): R|pckg/A| { + } + + public final static val entries: R|kotlin/enums/EnumEntries| + public get(): R|kotlin/enums/EnumEntries| + + } + public final val R|T|.entries: R|kotlin/Int| + public get(): R|kotlin/Int| { + ^ Int(0) + } + public final fun test(): R|kotlin/Unit| { + Q|pckg/A|.R|pckg/A.entries| + Q|pckg/A.Companion|.R|pckg/entries| + } diff --git a/compiler/testData/diagnostics/tests/enum/entries/genericEntriesPropertyClashOn.kt b/compiler/testData/diagnostics/tests/enum/entries/genericEntriesPropertyClashOn.kt new file mode 100644 index 00000000000..5fcd211cc4a --- /dev/null +++ b/compiler/testData/diagnostics/tests/enum/entries/genericEntriesPropertyClashOn.kt @@ -0,0 +1,18 @@ +// !LANGUAGE: +EnumEntries +// WITH_STDLIB +// FIR_DUMP + +package pckg + +enum class A { + ; + + companion object +} + +val T.entries: Int get() = 0 + +fun test() { + A.entries + A.Companion.entries +} diff --git a/compiler/testData/diagnostics/tests/enum/entries/javaEnumEntriesAmbiguity.txt b/compiler/testData/diagnostics/tests/enum/entries/javaEnumEntriesAmbiguity.txt deleted file mode 100644 index bc1faa81dd8..00000000000 --- a/compiler/testData/diagnostics/tests/enum/entries/javaEnumEntriesAmbiguity.txt +++ /dev/null @@ -1,62 +0,0 @@ -package - -public fun test(): kotlin.Unit - -public final enum class JEnumEntry : kotlin.Enum { - enum entry entries - - public constructor JEnumEntry() - @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: JEnumEntry!): 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*/ val entries: kotlin.enums.EnumEntries - public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): JEnumEntry - public final /*synthesized*/ fun values(): kotlin.Array -} - -public final enum class JEnumField : kotlin.Enum { - public constructor JEnumField() - public final val entries: kotlin.Int = 0 - @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: JEnumField!): 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*/ val entries: kotlin.enums.EnumEntries - public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): JEnumField - public final /*synthesized*/ fun values(): kotlin.Array -} - -public final enum class JEnumStaticField : kotlin.Enum { - public constructor JEnumStaticField() - @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: JEnumStaticField!): 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 const final val entries: kotlin.Int = 0 - public final /*synthesized*/ val entries: kotlin.enums.EnumEntries - public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): JEnumStaticField - public final /*synthesized*/ fun values(): kotlin.Array -} - diff --git a/compiler/testData/diagnostics/tests/enum/entries/javaEnumEntriesAmbiguityOn.fir.kt b/compiler/testData/diagnostics/tests/enum/entries/javaEnumEntriesAmbiguityOn.fir.kt new file mode 100644 index 00000000000..091fd7a03bc --- /dev/null +++ b/compiler/testData/diagnostics/tests/enum/entries/javaEnumEntriesAmbiguityOn.fir.kt @@ -0,0 +1,34 @@ +// !LANGUAGE: +EnumEntries +// WITH_STDLIB +// FIR_DUMP + +// FILE: JEnumEntry.java + +public enum JEnumEntry { + entries; +} + +// FILE: JEnumStaticField.java + +public enum JEnumStaticField { + ; + + public static final int entries = 0; +} + +// FILE: JEnumField.java + +public enum JEnumField { + ; + + public final int entries = 0; +} + +// FILE: test.kt + +fun test() { + JEnumEntry.entries + JEnumStaticField.entries + + JEnumField::entries +} diff --git a/compiler/testData/diagnostics/tests/enum/entries/javaEnumEntriesAmbiguityOn.fir.txt b/compiler/testData/diagnostics/tests/enum/entries/javaEnumEntriesAmbiguityOn.fir.txt new file mode 100644 index 00000000000..8f9e65fb7a5 --- /dev/null +++ b/compiler/testData/diagnostics/tests/enum/entries/javaEnumEntriesAmbiguityOn.fir.txt @@ -0,0 +1,6 @@ +FILE: test.kt + public final fun test(): R|kotlin/Unit| { + Q|JEnumEntry|.R|/JEnumEntry.entries| + Q|JEnumStaticField|.R|/JEnumStaticField.entries| + Q|JEnumField|::R|/JEnumField.entries| + } diff --git a/compiler/testData/diagnostics/tests/enum/entries/javaEnumEntriesAmbiguityOn.kt b/compiler/testData/diagnostics/tests/enum/entries/javaEnumEntriesAmbiguityOn.kt new file mode 100644 index 00000000000..8fa4cb1ae41 --- /dev/null +++ b/compiler/testData/diagnostics/tests/enum/entries/javaEnumEntriesAmbiguityOn.kt @@ -0,0 +1,34 @@ +// !LANGUAGE: +EnumEntries +// WITH_STDLIB +// FIR_DUMP + +// FILE: JEnumEntry.java + +public enum JEnumEntry { + entries; +} + +// FILE: JEnumStaticField.java + +public enum JEnumStaticField { + ; + + public static final int entries = 0; +} + +// FILE: JEnumField.java + +public enum JEnumField { + ; + + public final int entries = 0; +} + +// FILE: test.kt + +fun test() { + JEnumEntry.entries + JEnumStaticField.entries + + JEnumField::entries +} diff --git a/compiler/testData/diagnostics/tests/enum/entries/nameShadowingOfExternallyDefinedEntries.txt b/compiler/testData/diagnostics/tests/enum/entries/nameShadowingOfExternallyDefinedEntries.txt deleted file mode 100644 index b753e66ed53..00000000000 --- a/compiler/testData/diagnostics/tests/enum/entries/nameShadowingOfExternallyDefinedEntries.txt +++ /dev/null @@ -1,66 +0,0 @@ -package - -package pckg { - public val entries: kotlin.String = "E" - - public final class A { - public constructor A() - 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 - - public final enum class E : kotlin.Enum { - private constructor E() - @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: pckg.A.E): 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 - - public final class B { - public constructor B() - public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - public final fun foo(): kotlin.Unit - public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int - public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String - } - - public final class C { - public constructor C() - public final val entries: kotlin.Int = 0 - public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - public final fun foo(): kotlin.Unit - public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int - public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String - } - - // Static members - public final /*synthesized*/ val entries: kotlin.enums.EnumEntries - public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): pckg.A.E - public final /*synthesized*/ fun values(): kotlin.Array - } - } - - public final enum class E : kotlin.Enum { - private constructor E() - @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: pckg.E): 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 fun foo(): 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*/ val entries: kotlin.enums.EnumEntries - public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): pckg.E - public final /*synthesized*/ fun values(): kotlin.Array - } -} diff --git a/compiler/testData/diagnostics/tests/enum/entries/nameShadowingOfExternallyDefinedEntriesOn.fir.kt b/compiler/testData/diagnostics/tests/enum/entries/nameShadowingOfExternallyDefinedEntriesOn.fir.kt index 954a5cd99c3..b3119db94fa 100644 --- a/compiler/testData/diagnostics/tests/enum/entries/nameShadowingOfExternallyDefinedEntriesOn.fir.kt +++ b/compiler/testData/diagnostics/tests/enum/entries/nameShadowingOfExternallyDefinedEntriesOn.fir.kt @@ -1,5 +1,6 @@ // !LANGUAGE: +EnumEntries // WITH_STDLIB +// FIR_DUMP package pckg diff --git a/compiler/testData/diagnostics/tests/enum/entries/nameShadowingOfExternallyDefinedEntriesOn.fir.txt b/compiler/testData/diagnostics/tests/enum/entries/nameShadowingOfExternallyDefinedEntriesOn.fir.txt new file mode 100644 index 00000000000..2011cc8d717 --- /dev/null +++ b/compiler/testData/diagnostics/tests/enum/entries/nameShadowingOfExternallyDefinedEntriesOn.fir.txt @@ -0,0 +1,74 @@ +FILE: nameShadowingOfExternallyDefinedEntriesOn.fir.kt + package pckg + + public final val entries: R|kotlin/String| = String(E) + public get(): R|kotlin/String| + public final enum class E : R|kotlin/Enum| { + private constructor(): R|pckg/E| { + super|>() + } + + public final fun foo(): R|kotlin/Unit| { + R|pckg/E.entries|.# + Q|pckg|.R|pckg/entries|.R|kotlin/String.length| + } + + public final static fun values(): R|kotlin/Array| { + } + + public final static fun valueOf(value: R|kotlin/String|): R|pckg/E| { + } + + public final static val entries: R|kotlin/enums/EnumEntries| + public get(): R|kotlin/enums/EnumEntries| + + } + public final class A : R|kotlin/Any| { + public constructor(): R|pckg/A| { + super() + } + + public final enum class E : R|kotlin/Enum| { + private constructor(): R|pckg/A.E| { + super|>() + } + + public final class B : R|kotlin/Any| { + public constructor(): R|pckg/A.E.B| { + super() + } + + public final fun foo(): R|kotlin/Unit| { + R|pckg/A.E.entries|.# + Q|pckg|.R|pckg/entries|.R|kotlin/String.length| + } + + } + + public final class C : R|kotlin/Any| { + public constructor(): R|pckg/A.E.C| { + super() + } + + public final val entries: R|kotlin/Int| = Int(0) + public get(): R|kotlin/Int| + + public final fun foo(): R|kotlin/Unit| { + this@R|pckg/A.E.C|.R|pckg/A.E.C.entries|.R|kotlin/Int.plus|(Int(4)) + this@R|pckg/A.E.C|.R|pckg/A.E.C.entries|.R|kotlin/Int.plus|(Int(4)) + } + + } + + public final static fun values(): R|kotlin/Array| { + } + + public final static fun valueOf(value: R|kotlin/String|): R|pckg/A.E| { + } + + public final static val entries: R|kotlin/enums/EnumEntries| + public get(): R|kotlin/enums/EnumEntries| + + } + + } diff --git a/compiler/testData/diagnostics/tests/enum/entries/nameShadowingOfExternallyDefinedEntriesOn.kt b/compiler/testData/diagnostics/tests/enum/entries/nameShadowingOfExternallyDefinedEntriesOn.kt index 4add5fc06f7..976a9ce55e8 100644 --- a/compiler/testData/diagnostics/tests/enum/entries/nameShadowingOfExternallyDefinedEntriesOn.kt +++ b/compiler/testData/diagnostics/tests/enum/entries/nameShadowingOfExternallyDefinedEntriesOn.kt @@ -1,5 +1,6 @@ // !LANGUAGE: +EnumEntries // WITH_STDLIB +// FIR_DUMP package pckg diff --git a/compiler/testData/diagnostics/tests/enum/entries/nameShadowingOfExternallyDefinedEntriesOn.txt b/compiler/testData/diagnostics/tests/enum/entries/nameShadowingOfExternallyDefinedEntriesOn.txt deleted file mode 100644 index b753e66ed53..00000000000 --- a/compiler/testData/diagnostics/tests/enum/entries/nameShadowingOfExternallyDefinedEntriesOn.txt +++ /dev/null @@ -1,66 +0,0 @@ -package - -package pckg { - public val entries: kotlin.String = "E" - - public final class A { - public constructor A() - 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 - - public final enum class E : kotlin.Enum { - private constructor E() - @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: pckg.A.E): 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 - - public final class B { - public constructor B() - public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - public final fun foo(): kotlin.Unit - public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int - public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String - } - - public final class C { - public constructor C() - public final val entries: kotlin.Int = 0 - public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - public final fun foo(): kotlin.Unit - public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int - public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String - } - - // Static members - public final /*synthesized*/ val entries: kotlin.enums.EnumEntries - public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): pckg.A.E - public final /*synthesized*/ fun values(): kotlin.Array - } - } - - public final enum class E : kotlin.Enum { - private constructor E() - @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: pckg.E): 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 fun foo(): 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*/ val entries: kotlin.enums.EnumEntries - public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): pckg.E - public final /*synthesized*/ fun values(): kotlin.Array - } -} diff --git a/compiler/testData/diagnostics/tests/enum/entries/redeclarationOfEnumEntriesNameWithIntrinsic.txt b/compiler/testData/diagnostics/tests/enum/entries/redeclarationOfEnumEntriesNameWithIntrinsic.txt deleted file mode 100644 index 3989bd1962c..00000000000 --- a/compiler/testData/diagnostics/tests/enum/entries/redeclarationOfEnumEntriesNameWithIntrinsic.txt +++ /dev/null @@ -1,24 +0,0 @@ -package - -public final enum class E : kotlin.Enum { - enum entry entries - - enum entry Entries - - private constructor E() - @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: E): 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 fun foo(): 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*/ val entries: kotlin.enums.EnumEntries - public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): E - public final /*synthesized*/ fun values(): kotlin.Array -} diff --git a/compiler/testData/diagnostics/tests/enum/entries/redeclarationOfEnumEntriesNameWithIntrinsicOn.fir.kt b/compiler/testData/diagnostics/tests/enum/entries/redeclarationOfEnumEntriesNameWithIntrinsicOn.fir.kt index 4b02d594a73..e26fcd6cb98 100644 --- a/compiler/testData/diagnostics/tests/enum/entries/redeclarationOfEnumEntriesNameWithIntrinsicOn.fir.kt +++ b/compiler/testData/diagnostics/tests/enum/entries/redeclarationOfEnumEntriesNameWithIntrinsicOn.fir.kt @@ -1,5 +1,6 @@ // !LANGUAGE: +EnumEntries // WITH_STDLIB +// FIR_DUMP enum class E { entries, Entries; diff --git a/compiler/testData/diagnostics/tests/enum/entries/redeclarationOfEnumEntriesNameWithIntrinsicOn.fir.txt b/compiler/testData/diagnostics/tests/enum/entries/redeclarationOfEnumEntriesNameWithIntrinsicOn.fir.txt new file mode 100644 index 00000000000..2e65af611f0 --- /dev/null +++ b/compiler/testData/diagnostics/tests/enum/entries/redeclarationOfEnumEntriesNameWithIntrinsicOn.fir.txt @@ -0,0 +1,23 @@ +FILE: redeclarationOfEnumEntriesNameWithIntrinsicOn.fir.kt + public final enum class E : R|kotlin/Enum| { + private constructor(): R|E| { + super|>() + } + + public final static enum entry entries: R|E| + public final static enum entry Entries: R|E| + public final fun foo(): R|kotlin/Unit| { + R|/E.entries|.R|SubstitutionOverride| + Q|E|.R|/E.entries|.R|SubstitutionOverride| + } + + public final static fun values(): R|kotlin/Array| { + } + + public final static fun valueOf(value: R|kotlin/String|): R|E| { + } + + public final static val entries: R|kotlin/enums/EnumEntries| + public get(): R|kotlin/enums/EnumEntries| + + } diff --git a/compiler/testData/diagnostics/tests/enum/entries/redeclarationOfEnumEntriesNameWithIntrinsicOn.kt b/compiler/testData/diagnostics/tests/enum/entries/redeclarationOfEnumEntriesNameWithIntrinsicOn.kt index 5149ad269f7..846400beac6 100644 --- a/compiler/testData/diagnostics/tests/enum/entries/redeclarationOfEnumEntriesNameWithIntrinsicOn.kt +++ b/compiler/testData/diagnostics/tests/enum/entries/redeclarationOfEnumEntriesNameWithIntrinsicOn.kt @@ -1,5 +1,6 @@ // !LANGUAGE: +EnumEntries // WITH_STDLIB +// FIR_DUMP enum class E { entries, Entries; diff --git a/compiler/testData/diagnostics/tests/enum/entries/redeclarationOfEnumEntriesNameWithIntrinsicOn.txt b/compiler/testData/diagnostics/tests/enum/entries/redeclarationOfEnumEntriesNameWithIntrinsicOn.txt deleted file mode 100644 index 3989bd1962c..00000000000 --- a/compiler/testData/diagnostics/tests/enum/entries/redeclarationOfEnumEntriesNameWithIntrinsicOn.txt +++ /dev/null @@ -1,24 +0,0 @@ -package - -public final enum class E : kotlin.Enum { - enum entry entries - - enum entry Entries - - private constructor E() - @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: E): 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 fun foo(): 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*/ val entries: kotlin.enums.EnumEntries - public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): E - 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 cb56f620174..c6f9f4789fb 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 @@ -11071,6 +11071,12 @@ public class DiagnosticTestGenerated extends AbstractDiagnosticTest { runTest("compiler/testData/diagnostics/tests/enum/entries/conflictingPropertyEntriesAndReference.kt"); } + @Test + @TestMetadata("conflictingPropertyEntriesAndReferenceOn.kt") + public void testConflictingPropertyEntriesAndReferenceOn() throws Exception { + runTest("compiler/testData/diagnostics/tests/enum/entries/conflictingPropertyEntriesAndReferenceOn.kt"); + } + @Test @TestMetadata("entriesPropertyAsExtensionClash.kt") public void testEntriesPropertyAsExtensionClash() throws Exception { @@ -11113,6 +11119,12 @@ public class DiagnosticTestGenerated extends AbstractDiagnosticTest { runTest("compiler/testData/diagnostics/tests/enum/entries/entriesPropertyWithJvmStaticClash.kt"); } + @Test + @TestMetadata("entriesPropertyWithJvmStaticClashOn.kt") + public void testEntriesPropertyWithJvmStaticClashOn() throws Exception { + runTest("compiler/testData/diagnostics/tests/enum/entries/entriesPropertyWithJvmStaticClashOn.kt"); + } + @Test @TestMetadata("entriesUnsupported.kt") public void testEntriesUnsupported() throws Exception { @@ -11131,12 +11143,24 @@ public class DiagnosticTestGenerated extends AbstractDiagnosticTest { runTest("compiler/testData/diagnostics/tests/enum/entries/genericEntriesPropertyClash.kt"); } + @Test + @TestMetadata("genericEntriesPropertyClashOn.kt") + public void testGenericEntriesPropertyClashOn() throws Exception { + runTest("compiler/testData/diagnostics/tests/enum/entries/genericEntriesPropertyClashOn.kt"); + } + @Test @TestMetadata("javaEnumEntriesAmbiguity.kt") public void testJavaEnumEntriesAmbiguity() throws Exception { runTest("compiler/testData/diagnostics/tests/enum/entries/javaEnumEntriesAmbiguity.kt"); } + @Test + @TestMetadata("javaEnumEntriesAmbiguityOn.kt") + public void testJavaEnumEntriesAmbiguityOn() throws Exception { + runTest("compiler/testData/diagnostics/tests/enum/entries/javaEnumEntriesAmbiguityOn.kt"); + } + @Test @TestMetadata("nameShadowingOfExternallyDefinedEntries.kt") public void testNameShadowingOfExternallyDefinedEntries() throws Exception {