[FIR] Implement DATA_CLASS_OVERRIDE_DEFAULT_VALUES diagnostic
#KT-59415 Fixed
This commit is contained in:
committed by
Space Team
parent
53ff4584d4
commit
06d2befb72
+8
@@ -2463,6 +2463,14 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirErrors.DATA_CLASS_OVERRIDE_DEFAULT_VALUES) { firDiagnostic ->
|
||||
DataClassOverrideDefaultValuesImpl(
|
||||
firSymbolBuilder.callableBuilder.buildCallableSymbol(firDiagnostic.a),
|
||||
firSymbolBuilder.classifierBuilder.buildClassLikeSymbol(firDiagnostic.b),
|
||||
firDiagnostic as KtPsiDiagnostic,
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirErrors.CANNOT_WEAKEN_ACCESS_PRIVILEGE) { firDiagnostic ->
|
||||
CannotWeakenAccessPrivilegeImpl(
|
||||
firDiagnostic.a,
|
||||
|
||||
+6
@@ -1747,6 +1747,12 @@ sealed interface KtFirDiagnostic<PSI : PsiElement> : KtDiagnosticWithPsi<PSI> {
|
||||
val baseMember: KtCallableSymbol
|
||||
}
|
||||
|
||||
interface DataClassOverrideDefaultValues : KtFirDiagnostic<KtElement> {
|
||||
override val diagnosticClass get() = DataClassOverrideDefaultValues::class
|
||||
val overridingMember: KtCallableSymbol
|
||||
val baseType: KtClassLikeSymbol
|
||||
}
|
||||
|
||||
interface CannotWeakenAccessPrivilege : KtFirDiagnostic<KtModifierListOwner> {
|
||||
override val diagnosticClass get() = CannotWeakenAccessPrivilege::class
|
||||
val overridingVisibility: Visibility
|
||||
|
||||
+7
@@ -2100,6 +2100,13 @@ internal class DataClassOverrideConflictImpl(
|
||||
token: KtLifetimeToken,
|
||||
) : KtAbstractFirDiagnostic<KtClassOrObject>(firDiagnostic, token), KtFirDiagnostic.DataClassOverrideConflict
|
||||
|
||||
internal class DataClassOverrideDefaultValuesImpl(
|
||||
override val overridingMember: KtCallableSymbol,
|
||||
override val baseType: KtClassLikeSymbol,
|
||||
firDiagnostic: KtPsiDiagnostic,
|
||||
token: KtLifetimeToken,
|
||||
) : KtAbstractFirDiagnostic<KtElement>(firDiagnostic, token), KtFirDiagnostic.DataClassOverrideDefaultValues
|
||||
|
||||
internal class CannotWeakenAccessPrivilegeImpl(
|
||||
override val overridingVisibility: Visibility,
|
||||
override val overridden: KtCallableSymbol,
|
||||
|
||||
Reference in New Issue
Block a user