[JS FIR] Support PROPERTY_DELEGATION_BY_DYNAMIC diagnostic

^KT-59406 Fixed
This commit is contained in:
Alexander Korepanov
2023-07-11 14:44:30 +02:00
committed by Space Team
parent f6b7a07efe
commit 39fba56de9
10 changed files with 48 additions and 27 deletions
@@ -5185,6 +5185,12 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert
token,
)
}
add(FirJsErrors.PROPERTY_DELEGATION_BY_DYNAMIC) { firDiagnostic ->
PropertyDelegationByDynamicImpl(
firDiagnostic as KtPsiDiagnostic,
token,
)
}
add(FirJsErrors.SPREAD_OPERATOR_IN_DYNAMIC_CALL) { firDiagnostic ->
SpreadOperatorInDynamicCallImpl(
firDiagnostic as KtPsiDiagnostic,
@@ -3609,6 +3609,10 @@ sealed interface KtFirDiagnostic<PSI : PsiElement> : KtDiagnosticWithPsi<PSI> {
override val diagnosticClass get() = DelegationByDynamic::class
}
interface PropertyDelegationByDynamic : KtFirDiagnostic<KtElement> {
override val diagnosticClass get() = PropertyDelegationByDynamic::class
}
interface SpreadOperatorInDynamicCall : KtFirDiagnostic<KtElement> {
override val diagnosticClass get() = SpreadOperatorInDynamicCall::class
}
@@ -4364,6 +4364,11 @@ internal class DelegationByDynamicImpl(
token: KtLifetimeToken,
) : KtAbstractFirDiagnostic<KtElement>(firDiagnostic, token), KtFirDiagnostic.DelegationByDynamic
internal class PropertyDelegationByDynamicImpl(
firDiagnostic: KtPsiDiagnostic,
token: KtLifetimeToken,
) : KtAbstractFirDiagnostic<KtElement>(firDiagnostic, token), KtFirDiagnostic.PropertyDelegationByDynamic
internal class SpreadOperatorInDynamicCallImpl(
firDiagnostic: KtPsiDiagnostic,
token: KtLifetimeToken,