[FIR] Support TYPEALIAS_EXPANDED_TO_MALFORMED_TYPE

^KT-59410 Fixed
This commit is contained in:
Nikolay Lunyak
2023-07-17 17:44:24 +03:00
committed by Space Team
parent 97b00793b4
commit f4ffd479cc
9 changed files with 70 additions and 5 deletions
@@ -2516,6 +2516,13 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert
token,
)
}
add(FirErrors.TYPEALIAS_EXPANDS_TO_ARRAY_OF_NOTHINGS) { firDiagnostic ->
TypealiasExpandsToArrayOfNothingsImpl(
firSymbolBuilder.typeBuilder.buildKtType(firDiagnostic.a),
firDiagnostic as KtPsiDiagnostic,
token,
)
}
add(FirErrors.OVERRIDING_FINAL_MEMBER) { firDiagnostic ->
OverridingFinalMemberImpl(
firSymbolBuilder.callableBuilder.buildCallableSymbol(firDiagnostic.a),
@@ -1788,6 +1788,11 @@ sealed interface KtFirDiagnostic<PSI : PsiElement> : KtDiagnosticWithPsi<PSI> {
val valueParameter: KtSymbol
}
interface TypealiasExpandsToArrayOfNothings : KtFirDiagnostic<KtElement> {
override val diagnosticClass get() = TypealiasExpandsToArrayOfNothings::class
val type: KtType
}
interface OverridingFinalMember : KtFirDiagnostic<KtNamedDeclaration> {
override val diagnosticClass get() = OverridingFinalMember::class
val overriddenDeclaration: KtCallableSymbol
@@ -2148,6 +2148,12 @@ internal class MultipleDefaultsInheritedFromSupertypesWhenNoExplicitOverrideImpl
token: KtLifetimeToken,
) : KtAbstractFirDiagnostic<KtElement>(firDiagnostic, token), KtFirDiagnostic.MultipleDefaultsInheritedFromSupertypesWhenNoExplicitOverride
internal class TypealiasExpandsToArrayOfNothingsImpl(
override val type: KtType,
firDiagnostic: KtPsiDiagnostic,
token: KtLifetimeToken,
) : KtAbstractFirDiagnostic<KtElement>(firDiagnostic, token), KtFirDiagnostic.TypealiasExpandsToArrayOfNothings
internal class OverridingFinalMemberImpl(
override val overriddenDeclaration: KtCallableSymbol,
override val containingClassName: Name,