From b86d5cf21adf3d19efb981318ed9e9d3c5fc21fe Mon Sep 17 00:00:00 2001 From: Dmitriy Novozhilov Date: Thu, 15 Sep 2022 14:03:29 +0300 Subject: [PATCH] [FE] Postpone ProhibitAccessToEnumCompanionMembersInEnumConstructorCall till 1.9 ^KT-49110 --- .../controlFlowAnalysis/UninitializedEnumCompanionVals.kt | 4 ++-- .../controlFlowAnalysis/enumCompanionInterdependence.kt | 8 ++++---- .../jetbrains/kotlin/config/LanguageVersionSettings.kt | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/compiler/testData/diagnostics/tests/controlFlowAnalysis/UninitializedEnumCompanionVals.kt b/compiler/testData/diagnostics/tests/controlFlowAnalysis/UninitializedEnumCompanionVals.kt index 8a73c99b1b9..86fea59ebe5 100644 --- a/compiler/testData/diagnostics/tests/controlFlowAnalysis/UninitializedEnumCompanionVals.kt +++ b/compiler/testData/diagnostics/tests/controlFlowAnalysis/UninitializedEnumCompanionVals.kt @@ -1,7 +1,7 @@ // SKIP_TXT enum class A(val z: Any) { - Y(x); + Y(x); companion object { val x = A.Y.ordinal @@ -9,7 +9,7 @@ enum class A(val z: Any) { } enum class B(val z: Any) { - Y(B.x); + Y(B.x); companion object { val x = B.Y.ordinal diff --git a/compiler/testData/diagnostics/tests/controlFlowAnalysis/enumCompanionInterdependence.kt b/compiler/testData/diagnostics/tests/controlFlowAnalysis/enumCompanionInterdependence.kt index 165a9a65c4c..18e5504c905 100644 --- a/compiler/testData/diagnostics/tests/controlFlowAnalysis/enumCompanionInterdependence.kt +++ b/compiler/testData/diagnostics/tests/controlFlowAnalysis/enumCompanionInterdependence.kt @@ -9,7 +9,7 @@ enum class B(val x: Int) { } enum class C(val x: Int) { - C1(SUM), + C1(SUM), C2(1); companion object { @@ -32,8 +32,8 @@ enum class Fruit(personal: Int) { // Another example from KT-11769 enum class EnumCompanion1(val x: Int) { - INSTANCE(Companion.foo()), - ANOTHER(foo()); + INSTANCE(Companion.foo()), + ANOTHER(foo()); companion object { fun foo() = 42 @@ -41,7 +41,7 @@ enum class EnumCompanion1(val x: Int) { } // Also should be reported for implicit receiver enum class EnumCompanion2(val x: Int) { - INSTANCE(foo()); + INSTANCE(foo()); companion object { fun foo() = 42 diff --git a/compiler/util/src/org/jetbrains/kotlin/config/LanguageVersionSettings.kt b/compiler/util/src/org/jetbrains/kotlin/config/LanguageVersionSettings.kt index d21ca3adae8..a8eff79db6b 100644 --- a/compiler/util/src/org/jetbrains/kotlin/config/LanguageVersionSettings.kt +++ b/compiler/util/src/org/jetbrains/kotlin/config/LanguageVersionSettings.kt @@ -252,7 +252,6 @@ enum class LanguageFeature( ForbidSuperDelegationToAbstractAnyMethod(KOTLIN_1_8), // KT-38078 ProperEqualityChecksInBuilderInferenceCalls(KOTLIN_1_8, kind = BUG_FIX), ProhibitNonExhaustiveIfInRhsOfElvis(KOTLIN_1_8, kind = BUG_FIX), // KT-44705 - ProhibitAccessToEnumCompanionMembersInEnumConstructorCall(KOTLIN_1_8, kind = BUG_FIX), // KT-49110 ReportMissingUpperBoundsViolatedErrorOnAbbreviationAtSupertypes(KOTLIN_1_8, kind = BUG_FIX), // KT-29168 ForbidUsingExtensionPropertyTypeParameterInDelegate(KOTLIN_1_8, kind = BUG_FIX), SynchronizedSuspendError(KOTLIN_1_8), @@ -284,6 +283,7 @@ enum class LanguageFeature( EnumEntries(KOTLIN_1_9, sinceApiVersion = ApiVersion.KOTLIN_1_8, defaultState = State.DISABLED, kind = UNSTABLE_FEATURE), // KT-48872 EnableDfaWarningsInK2(KOTLIN_1_9, kind = OTHER), // KT-50965 DataObjects(KOTLIN_1_9), // KT-4107 + ProhibitAccessToEnumCompanionMembersInEnumConstructorCall(KOTLIN_1_9, kind = BUG_FIX), // KT-49110 // Disabled for indefinite time. See KT-53751 IgnoreNullabilityForErasedValueParameters(sinceVersion = null, kind = BUG_FIX),