[FIR] KT-59368 context receiver subtyping checker
This commit is contained in:
+6
@@ -2105,6 +2105,12 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirErrors.SUBTYPING_BETWEEN_CONTEXT_RECEIVERS) { firDiagnostic ->
|
||||
SubtypingBetweenContextReceiversImpl(
|
||||
firDiagnostic as KtPsiDiagnostic,
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirErrors.RECURSION_IN_IMPLICIT_TYPES) { firDiagnostic ->
|
||||
RecursionInImplicitTypesImpl(
|
||||
firDiagnostic as KtPsiDiagnostic,
|
||||
|
||||
+4
@@ -1500,6 +1500,10 @@ sealed interface KtFirDiagnostic<PSI : PsiElement> : KtDiagnosticWithPsi<PSI> {
|
||||
override val diagnosticClass get() = UnsupportedContextualDeclarationCall::class
|
||||
}
|
||||
|
||||
interface SubtypingBetweenContextReceivers : KtFirDiagnostic<KtElement> {
|
||||
override val diagnosticClass get() = SubtypingBetweenContextReceivers::class
|
||||
}
|
||||
|
||||
interface RecursionInImplicitTypes : KtFirDiagnostic<PsiElement> {
|
||||
override val diagnosticClass get() = RecursionInImplicitTypes::class
|
||||
}
|
||||
|
||||
+5
@@ -1800,6 +1800,11 @@ internal class UnsupportedContextualDeclarationCallImpl(
|
||||
token: KtLifetimeToken,
|
||||
) : KtAbstractFirDiagnostic<KtElement>(firDiagnostic, token), KtFirDiagnostic.UnsupportedContextualDeclarationCall
|
||||
|
||||
internal class SubtypingBetweenContextReceiversImpl(
|
||||
firDiagnostic: KtPsiDiagnostic,
|
||||
token: KtLifetimeToken,
|
||||
) : KtAbstractFirDiagnostic<KtElement>(firDiagnostic, token), KtFirDiagnostic.SubtypingBetweenContextReceivers
|
||||
|
||||
internal class RecursionInImplicitTypesImpl(
|
||||
firDiagnostic: KtPsiDiagnostic,
|
||||
token: KtLifetimeToken,
|
||||
|
||||
Reference in New Issue
Block a user