Fix ClassCastException at FirUninitializedEnumChecker

This commit is contained in:
Denis.Zharkov
2021-10-06 17:14:17 +03:00
committed by TeamCityServer
parent 0d072de737
commit 1c16f2f8c9
10 changed files with 62 additions and 4 deletions
@@ -1957,7 +1957,7 @@ sealed class KtFirDiagnostic<PSI : PsiElement> : KtDiagnosticWithPsi<PSI> {
abstract val expectedType: KtType
}
abstract class UninitializedVariable : KtFirDiagnostic<KtSimpleNameExpression>() {
abstract class UninitializedVariable : KtFirDiagnostic<KtExpression>() {
override val diagnosticClass get() = UninitializedVariable::class
abstract val variable: KtVariableSymbol
}
@@ -2361,7 +2361,7 @@ internal class UninitializedVariableImpl(
override val variable: KtVariableSymbol,
override val firDiagnostic: FirPsiDiagnostic,
override val token: ValidityToken,
) : KtFirDiagnostic.UninitializedVariable(), KtAbstractFirDiagnostic<KtSimpleNameExpression>
) : KtFirDiagnostic.UninitializedVariable(), KtAbstractFirDiagnostic<KtExpression>
internal class UninitializedParameterImpl(
override val parameter: KtSymbol,
@@ -5745,6 +5745,12 @@ public class DiagnosisCompilerTestFE10TestdataTestGenerated extends AbstractDiag
runTest("compiler/testData/diagnostics/tests/controlFlowAnalysis/tryWithAssignmentUsedInCatch.kt");
}
@Test
@TestMetadata("UninitializedEnumCompanionVals.kt")
public void testUninitializedEnumCompanionVals() throws Exception {
runTest("compiler/testData/diagnostics/tests/controlFlowAnalysis/UninitializedEnumCompanionVals.kt");
}
@Test
@TestMetadata("uninitializedInLocalDeclarations.kt")
public void testUninitializedInLocalDeclarations() throws Exception {