[FIR] Prohibit access to members of companion of enum from enum entry initializer
^KT-49110
This commit is contained in:
committed by
TeamCityServer
parent
58889a2b5c
commit
877b53201b
+1
-1
@@ -2028,7 +2028,7 @@ sealed class KtFirDiagnostic<PSI : PsiElement> : KtDiagnosticWithPsi<PSI> {
|
||||
abstract val enumEntry: KtSymbol
|
||||
}
|
||||
|
||||
abstract class UninitializedEnumCompanion : KtFirDiagnostic<KtSimpleNameExpression>() {
|
||||
abstract class UninitializedEnumCompanion : KtFirDiagnostic<KtExpression>() {
|
||||
override val diagnosticClass get() = UninitializedEnumCompanion::class
|
||||
abstract val enumClass: KtClassLikeSymbol
|
||||
}
|
||||
|
||||
+1
-1
@@ -2446,7 +2446,7 @@ internal class UninitializedEnumCompanionImpl(
|
||||
override val enumClass: KtClassLikeSymbol,
|
||||
override val firDiagnostic: KtPsiDiagnostic,
|
||||
override val token: ValidityToken,
|
||||
) : KtFirDiagnostic.UninitializedEnumCompanion(), KtAbstractFirDiagnostic<KtSimpleNameExpression>
|
||||
) : KtFirDiagnostic.UninitializedEnumCompanion(), KtAbstractFirDiagnostic<KtExpression>
|
||||
|
||||
internal class ValReassignmentImpl(
|
||||
override val variable: KtVariableLikeSymbol,
|
||||
|
||||
+12
@@ -5751,6 +5751,18 @@ public class DiagnosisCompilerTestFE10TestdataTestGenerated extends AbstractDiag
|
||||
runTest("compiler/testData/diagnostics/tests/controlFlowAnalysis/tryWithAssignmentUsedInCatch.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("uninitializedCompanionOfEnum_after.kt")
|
||||
public void testUninitializedCompanionOfEnum_after() throws Exception {
|
||||
runTest("compiler/testData/diagnostics/tests/controlFlowAnalysis/uninitializedCompanionOfEnum_after.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("uninitializedCompanionOfEnum_before.kt")
|
||||
public void testUninitializedCompanionOfEnum_before() throws Exception {
|
||||
runTest("compiler/testData/diagnostics/tests/controlFlowAnalysis/uninitializedCompanionOfEnum_before.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("UninitializedEnumCompanionVals.kt")
|
||||
public void testUninitializedEnumCompanionVals() throws Exception {
|
||||
|
||||
Reference in New Issue
Block a user