[KMP] Implement ACTUAL_TYPE_ALIAS_TO_NOTHING/TO_NULLABLE_TYPE errors

^KT-60650 Done
This commit is contained in:
marat.akhin
2023-07-25 12:22:28 +02:00
committed by Space Team
parent 7cef7ac639
commit 34b271b13d
23 changed files with 249 additions and 1 deletions
@@ -3399,6 +3399,18 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert
token,
)
}
add(FirErrors.ACTUAL_TYPE_ALIAS_TO_NULLABLE_TYPE) { firDiagnostic ->
ActualTypeAliasToNullableTypeImpl(
firDiagnostic as KtPsiDiagnostic,
token,
)
}
add(FirErrors.ACTUAL_TYPE_ALIAS_TO_NOTHING) { firDiagnostic ->
ActualTypeAliasToNothingImpl(
firDiagnostic as KtPsiDiagnostic,
token,
)
}
add(FirErrors.ACTUAL_FUNCTION_WITH_DEFAULT_ARGUMENTS) { firDiagnostic ->
ActualFunctionWithDefaultArgumentsImpl(
firDiagnostic as KtPsiDiagnostic,
@@ -2391,6 +2391,14 @@ sealed interface KtFirDiagnostic<PSI : PsiElement> : KtDiagnosticWithPsi<PSI> {
override val diagnosticClass get() = ActualTypeAliasWithComplexSubstitution::class
}
interface ActualTypeAliasToNullableType : KtFirDiagnostic<KtTypeAlias> {
override val diagnosticClass get() = ActualTypeAliasToNullableType::class
}
interface ActualTypeAliasToNothing : KtFirDiagnostic<KtTypeAlias> {
override val diagnosticClass get() = ActualTypeAliasToNothing::class
}
interface ActualFunctionWithDefaultArguments : KtFirDiagnostic<PsiElement> {
override val diagnosticClass get() = ActualFunctionWithDefaultArguments::class
}
@@ -2884,6 +2884,16 @@ internal class ActualTypeAliasWithComplexSubstitutionImpl(
token: KtLifetimeToken,
) : KtAbstractFirDiagnostic<KtTypeAlias>(firDiagnostic, token), KtFirDiagnostic.ActualTypeAliasWithComplexSubstitution
internal class ActualTypeAliasToNullableTypeImpl(
firDiagnostic: KtPsiDiagnostic,
token: KtLifetimeToken,
) : KtAbstractFirDiagnostic<KtTypeAlias>(firDiagnostic, token), KtFirDiagnostic.ActualTypeAliasToNullableType
internal class ActualTypeAliasToNothingImpl(
firDiagnostic: KtPsiDiagnostic,
token: KtLifetimeToken,
) : KtAbstractFirDiagnostic<KtTypeAlias>(firDiagnostic, token), KtFirDiagnostic.ActualTypeAliasToNothing
internal class ActualFunctionWithDefaultArgumentsImpl(
firDiagnostic: KtPsiDiagnostic,
token: KtLifetimeToken,