[FIR] Report MULTIPLE_DEFAULTS_INHERITED_FROM_SUPERTYPES
Reporting it for `VIRTUAL_MEMBER_HIDDEN` is ok, because `VIRTUAL_MEMBER_HIDDEN` has always been an error, so we are allowed to treat these as overrides implicitly. ^KT-59408 Fixed ^KT-59419 Fixed ^KT-57076 Fixed
This commit is contained in:
committed by
Space Team
parent
0dd36ad456
commit
3f1bf6112f
+14
@@ -2588,6 +2588,20 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirErrors.MULTIPLE_DEFAULTS_INHERITED_FROM_SUPERTYPES) { firDiagnostic ->
|
||||
MultipleDefaultsInheritedFromSupertypesImpl(
|
||||
firSymbolBuilder.buildSymbol(firDiagnostic.a),
|
||||
firDiagnostic as KtPsiDiagnostic,
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirErrors.MULTIPLE_DEFAULTS_INHERITED_FROM_SUPERTYPES_WHEN_NO_EXPLICIT_OVERRIDE) { firDiagnostic ->
|
||||
MultipleDefaultsInheritedFromSupertypesWhenNoExplicitOverrideImpl(
|
||||
firSymbolBuilder.buildSymbol(firDiagnostic.a),
|
||||
firDiagnostic as KtPsiDiagnostic,
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirErrors.TYPEALIAS_EXPANDS_TO_ARRAY_OF_NOTHINGS) { firDiagnostic ->
|
||||
TypealiasExpandsToArrayOfNothingsImpl(
|
||||
firSymbolBuilder.typeBuilder.buildKtType(firDiagnostic.a),
|
||||
|
||||
+10
@@ -1839,6 +1839,16 @@ sealed interface KtFirDiagnostic<PSI : PsiElement> : KtDiagnosticWithPsi<PSI> {
|
||||
val containingClassName: Name
|
||||
}
|
||||
|
||||
interface MultipleDefaultsInheritedFromSupertypes : KtFirDiagnostic<KtElement> {
|
||||
override val diagnosticClass get() = MultipleDefaultsInheritedFromSupertypes::class
|
||||
val valueParameter: KtSymbol
|
||||
}
|
||||
|
||||
interface MultipleDefaultsInheritedFromSupertypesWhenNoExplicitOverride : KtFirDiagnostic<KtElement> {
|
||||
override val diagnosticClass get() = MultipleDefaultsInheritedFromSupertypesWhenNoExplicitOverride::class
|
||||
val valueParameter: KtSymbol
|
||||
}
|
||||
|
||||
interface TypealiasExpandsToArrayOfNothings : KtFirDiagnostic<KtElement> {
|
||||
override val diagnosticClass get() = TypealiasExpandsToArrayOfNothings::class
|
||||
val type: KtType
|
||||
|
||||
+12
@@ -2209,6 +2209,18 @@ internal class CannotChangeAccessPrivilegeImpl(
|
||||
token: KtLifetimeToken,
|
||||
) : KtAbstractFirDiagnostic<KtModifierListOwner>(firDiagnostic, token), KtFirDiagnostic.CannotChangeAccessPrivilege
|
||||
|
||||
internal class MultipleDefaultsInheritedFromSupertypesImpl(
|
||||
override val valueParameter: KtSymbol,
|
||||
firDiagnostic: KtPsiDiagnostic,
|
||||
token: KtLifetimeToken,
|
||||
) : KtAbstractFirDiagnostic<KtElement>(firDiagnostic, token), KtFirDiagnostic.MultipleDefaultsInheritedFromSupertypes
|
||||
|
||||
internal class MultipleDefaultsInheritedFromSupertypesWhenNoExplicitOverrideImpl(
|
||||
override val valueParameter: KtSymbol,
|
||||
firDiagnostic: KtPsiDiagnostic,
|
||||
token: KtLifetimeToken,
|
||||
) : KtAbstractFirDiagnostic<KtElement>(firDiagnostic, token), KtFirDiagnostic.MultipleDefaultsInheritedFromSupertypesWhenNoExplicitOverride
|
||||
|
||||
internal class TypealiasExpandsToArrayOfNothingsImpl(
|
||||
override val type: KtType,
|
||||
firDiagnostic: KtPsiDiagnostic,
|
||||
|
||||
Reference in New Issue
Block a user