[FIR] Introduce OPTIONAL_EXPECTATION_NOT_ON_EXPECTED diagnostic

^KT-60892 Fixed
This commit is contained in:
Ivan Kochurkin
2023-08-08 16:26:34 +02:00
committed by Space Team
parent 8e8de513ee
commit d4d30dcfcf
9 changed files with 51 additions and 1 deletions
@@ -3630,6 +3630,12 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert
token,
)
}
add(FirErrors.OPTIONAL_EXPECTATION_NOT_ON_EXPECTED) { firDiagnostic ->
OptionalExpectationNotOnExpectedImpl(
firDiagnostic as KtPsiDiagnostic,
token,
)
}
add(FirErrors.INITIALIZER_REQUIRED_FOR_DESTRUCTURING_DECLARATION) { firDiagnostic ->
InitializerRequiredForDestructuringDeclarationImpl(
firDiagnostic as KtPsiDiagnostic,
@@ -2541,6 +2541,10 @@ sealed interface KtFirDiagnostic<PSI : PsiElement> : KtDiagnosticWithPsi<PSI> {
override val diagnosticClass get() = OptionalDeclarationUsageInNonCommonSource::class
}
interface OptionalExpectationNotOnExpected : KtFirDiagnostic<PsiElement> {
override val diagnosticClass get() = OptionalExpectationNotOnExpected::class
}
interface InitializerRequiredForDestructuringDeclaration : KtFirDiagnostic<KtDestructuringDeclaration> {
override val diagnosticClass get() = InitializerRequiredForDestructuringDeclaration::class
}
@@ -3063,6 +3063,11 @@ internal class OptionalDeclarationUsageInNonCommonSourceImpl(
token: KtLifetimeToken,
) : KtAbstractFirDiagnostic<PsiElement>(firDiagnostic, token), KtFirDiagnostic.OptionalDeclarationUsageInNonCommonSource
internal class OptionalExpectationNotOnExpectedImpl(
firDiagnostic: KtPsiDiagnostic,
token: KtLifetimeToken,
) : KtAbstractFirDiagnostic<PsiElement>(firDiagnostic, token), KtFirDiagnostic.OptionalExpectationNotOnExpected
internal class InitializerRequiredForDestructuringDeclarationImpl(
firDiagnostic: KtPsiDiagnostic,
token: KtLifetimeToken,