Fix inaccurate report of DEPRECATED_ACCESS_TO_ENTRY_PROPERTY_FROM_ENUM

Add separate diagnostic for the case when it is reported on qualifiers.

^KT-64488
This commit is contained in:
Roman Efremov
2024-02-26 16:11:51 +01:00
committed by Space Team
parent 02b5fed389
commit 23ae617ea0
8 changed files with 24 additions and 2 deletions
@@ -5031,6 +5031,12 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert
token,
)
}
add(FirErrors.DEPRECATED_ACCESS_TO_ENTRIES_AS_QUALIFIER) { firDiagnostic ->
DeprecatedAccessToEntriesAsQualifierImpl(
firDiagnostic as KtPsiDiagnostic,
token,
)
}
add(FirErrors.DEPRECATED_DECLARATION_OF_ENUM_ENTRY) { firDiagnostic ->
DeprecatedDeclarationOfEnumEntryImpl(
firDiagnostic as KtPsiDiagnostic,
@@ -3502,6 +3502,10 @@ sealed interface KtFirDiagnostic<PSI : PsiElement> : KtDiagnosticWithPsi<PSI> {
override val diagnosticClass get() = DeprecatedAccessToEnumEntryPropertyAsReference::class
}
interface DeprecatedAccessToEntriesAsQualifier : KtFirDiagnostic<PsiElement> {
override val diagnosticClass get() = DeprecatedAccessToEntriesAsQualifier::class
}
interface DeprecatedDeclarationOfEnumEntry : KtFirDiagnostic<KtEnumEntry> {
override val diagnosticClass get() = DeprecatedDeclarationOfEnumEntry::class
}
@@ -4224,6 +4224,11 @@ internal class DeprecatedAccessToEnumEntryPropertyAsReferenceImpl(
token: KtLifetimeToken,
) : KtAbstractFirDiagnostic<PsiElement>(firDiagnostic, token), KtFirDiagnostic.DeprecatedAccessToEnumEntryPropertyAsReference
internal class DeprecatedAccessToEntriesAsQualifierImpl(
firDiagnostic: KtPsiDiagnostic,
token: KtLifetimeToken,
) : KtAbstractFirDiagnostic<PsiElement>(firDiagnostic, token), KtFirDiagnostic.DeprecatedAccessToEntriesAsQualifier
internal class DeprecatedDeclarationOfEnumEntryImpl(
firDiagnostic: KtPsiDiagnostic,
token: KtLifetimeToken,