[FIR] Add SPREAD_ON_SIGNATURE_POLYMORPHIC_CALL

This commit is contained in:
Ivan Kochurkin
2021-09-10 17:15:11 +03:00
committed by teamcityserver
parent 5760a94ab4
commit a5caa14255
12 changed files with 87 additions and 23 deletions
@@ -4059,4 +4059,16 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert
token,
)
}
add(FirJvmErrors.SPREAD_ON_SIGNATURE_POLYMORPHIC_CALL.errorFactory) { firDiagnostic ->
SpreadOnSignaturePolymorphicCallErrorImpl(
firDiagnostic as FirPsiDiagnostic,
token,
)
}
add(FirJvmErrors.SPREAD_ON_SIGNATURE_POLYMORPHIC_CALL.warningFactory) { firDiagnostic ->
SpreadOnSignaturePolymorphicCallWarningImpl(
firDiagnostic as FirPsiDiagnostic,
token,
)
}
}
@@ -2824,4 +2824,12 @@ sealed class KtFirDiagnostic<PSI : PsiElement> : KtDiagnosticWithPsi<PSI> {
override val diagnosticClass get() = ConcurrentHashMapContainsOperatorWarning::class
}
abstract class SpreadOnSignaturePolymorphicCallError : KtFirDiagnostic<PsiElement>() {
override val diagnosticClass get() = SpreadOnSignaturePolymorphicCallError::class
}
abstract class SpreadOnSignaturePolymorphicCallWarning : KtFirDiagnostic<PsiElement>() {
override val diagnosticClass get() = SpreadOnSignaturePolymorphicCallWarning::class
}
}
@@ -4595,3 +4595,17 @@ internal class ConcurrentHashMapContainsOperatorWarningImpl(
override val firDiagnostic: FirPsiDiagnostic by weakRef(firDiagnostic)
}
internal class SpreadOnSignaturePolymorphicCallErrorImpl(
firDiagnostic: FirPsiDiagnostic,
override val token: ValidityToken,
) : KtFirDiagnostic.SpreadOnSignaturePolymorphicCallError(), KtAbstractFirDiagnostic<PsiElement> {
override val firDiagnostic: FirPsiDiagnostic by weakRef(firDiagnostic)
}
internal class SpreadOnSignaturePolymorphicCallWarningImpl(
firDiagnostic: FirPsiDiagnostic,
override val token: ValidityToken,
) : KtFirDiagnostic.SpreadOnSignaturePolymorphicCallWarning(), KtAbstractFirDiagnostic<PsiElement> {
override val firDiagnostic: FirPsiDiagnostic by weakRef(firDiagnostic)
}