[FIR JS] Support DYNAMIC_SUPERTYPE

This commit is contained in:
Nikolay Lunyak
2023-01-04 15:11:26 +02:00
committed by Space Team
parent 227969d787
commit 9e1c6f2f61
9 changed files with 47 additions and 1 deletions
@@ -2016,6 +2016,12 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert
token,
)
}
add(FirErrors.DYNAMIC_SUPERTYPE) { firDiagnostic ->
DynamicSupertypeImpl(
firDiagnostic as KtPsiDiagnostic,
token,
)
}
add(FirErrors.DYNAMIC_UPPER_BOUND) { firDiagnostic ->
DynamicUpperBoundImpl(
firDiagnostic as KtPsiDiagnostic,
@@ -1431,6 +1431,10 @@ sealed class KtFirDiagnostic<PSI : PsiElement> : KtDiagnosticWithPsi<PSI> {
override val diagnosticClass get() = MisplacedTypeParameterConstraints::class
}
abstract class DynamicSupertype : KtFirDiagnostic<KtTypeReference>() {
override val diagnosticClass get() = DynamicSupertype::class
}
abstract class DynamicUpperBound : KtFirDiagnostic<KtTypeReference>() {
override val diagnosticClass get() = DynamicUpperBound::class
}
@@ -1722,6 +1722,11 @@ internal class MisplacedTypeParameterConstraintsImpl(
override val token: KtLifetimeToken,
) : KtFirDiagnostic.MisplacedTypeParameterConstraints(), KtAbstractFirDiagnostic<KtTypeParameter>
internal class DynamicSupertypeImpl(
override val firDiagnostic: KtPsiDiagnostic,
override val token: KtLifetimeToken,
) : KtFirDiagnostic.DynamicSupertype(), KtAbstractFirDiagnostic<KtTypeReference>
internal class DynamicUpperBoundImpl(
override val firDiagnostic: KtPsiDiagnostic,
override val token: KtLifetimeToken,