[FIR] Add REIFIED_TYPE_PARAMETER_IN_OVERRIDE diagnostic

This commit is contained in:
Andrey Zinovyev
2021-07-21 13:08:27 +03:00
committed by teamcityserver
parent 29dbaa4ae1
commit 38cecf8b12
9 changed files with 31 additions and 60 deletions
@@ -3179,6 +3179,12 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert
token,
)
}
add(FirErrors.REIFIED_TYPE_PARAMETER_IN_OVERRIDE) { firDiagnostic ->
ReifiedTypeParameterInOverrideImpl(
firDiagnostic as FirPsiDiagnostic,
token,
)
}
add(FirErrors.CANNOT_ALL_UNDER_IMPORT_FROM_SINGLETON) { firDiagnostic ->
CannotAllUnderImportFromSingletonImpl(
firDiagnostic.a,
@@ -2218,6 +2218,10 @@ sealed class KtFirDiagnostic<PSI : PsiElement> : KtDiagnosticWithPsi<PSI> {
override val diagnosticClass get() = OverrideByInline::class
}
abstract class ReifiedTypeParameterInOverride : KtFirDiagnostic<KtElement>() {
override val diagnosticClass get() = ReifiedTypeParameterInOverride::class
}
abstract class CannotAllUnderImportFromSingleton : KtFirDiagnostic<KtImportDirective>() {
override val diagnosticClass get() = CannotAllUnderImportFromSingleton::class
abstract val objectName: Name
@@ -3581,6 +3581,13 @@ internal class OverrideByInlineImpl(
override val firDiagnostic: FirPsiDiagnostic by weakRef(firDiagnostic)
}
internal class ReifiedTypeParameterInOverrideImpl(
firDiagnostic: FirPsiDiagnostic,
override val token: ValidityToken,
) : KtFirDiagnostic.ReifiedTypeParameterInOverride(), KtAbstractFirDiagnostic<KtElement> {
override val firDiagnostic: FirPsiDiagnostic by weakRef(firDiagnostic)
}
internal class CannotAllUnderImportFromSingletonImpl(
override val objectName: Name,
firDiagnostic: FirPsiDiagnostic,