[FIR] KT-59421 add checker context receiver property backing field

This commit is contained in:
Tomas Husak
2023-12-06 15:35:43 +01:00
committed by Space Team
parent 6c3b740a05
commit 91465d7110
11 changed files with 54 additions and 17 deletions
@@ -2111,6 +2111,12 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert
token,
)
}
add(FirErrors.CONTEXT_RECEIVERS_WITH_BACKING_FIELD) { firDiagnostic ->
ContextReceiversWithBackingFieldImpl(
firDiagnostic as KtPsiDiagnostic,
token,
)
}
add(FirErrors.RECURSION_IN_IMPLICIT_TYPES) { firDiagnostic ->
RecursionInImplicitTypesImpl(
firDiagnostic as KtPsiDiagnostic,
@@ -1504,6 +1504,10 @@ sealed interface KtFirDiagnostic<PSI : PsiElement> : KtDiagnosticWithPsi<PSI> {
override val diagnosticClass get() = SubtypingBetweenContextReceivers::class
}
interface ContextReceiversWithBackingField : KtFirDiagnostic<KtElement> {
override val diagnosticClass get() = ContextReceiversWithBackingField::class
}
interface RecursionInImplicitTypes : KtFirDiagnostic<PsiElement> {
override val diagnosticClass get() = RecursionInImplicitTypes::class
}
@@ -1805,6 +1805,11 @@ internal class SubtypingBetweenContextReceiversImpl(
token: KtLifetimeToken,
) : KtAbstractFirDiagnostic<KtElement>(firDiagnostic, token), KtFirDiagnostic.SubtypingBetweenContextReceivers
internal class ContextReceiversWithBackingFieldImpl(
firDiagnostic: KtPsiDiagnostic,
token: KtLifetimeToken,
) : KtAbstractFirDiagnostic<KtElement>(firDiagnostic, token), KtFirDiagnostic.ContextReceiversWithBackingField
internal class RecursionInImplicitTypesImpl(
firDiagnostic: KtPsiDiagnostic,
token: KtLifetimeToken,