[FIR] Implement CANNOT_OVERRIDE_INVISIBLE_MEMBER diagnostic
This commit is contained in:
committed by
teamcityserver
parent
f4c8108ee0
commit
9452b788bf
+8
@@ -1626,6 +1626,14 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirErrors.CANNOT_OVERRIDE_INVISIBLE_MEMBER) { firDiagnostic ->
|
||||
CannotOverrideInvisibleMemberImpl(
|
||||
firSymbolBuilder.callableBuilder.buildCallableSymbol(firDiagnostic.a as FirCallableDeclaration),
|
||||
firSymbolBuilder.callableBuilder.buildCallableSymbol(firDiagnostic.b as FirCallableDeclaration),
|
||||
firDiagnostic as FirPsiDiagnostic<*>,
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirErrors.CANNOT_WEAKEN_ACCESS_PRIVILEGE) { firDiagnostic ->
|
||||
CannotWeakenAccessPrivilegeImpl(
|
||||
firDiagnostic.a,
|
||||
|
||||
+6
@@ -1151,6 +1151,12 @@ sealed class KtFirDiagnostic<PSI: PsiElement> : KtDiagnosticWithPsi<PSI> {
|
||||
abstract val declaration: KtSymbol
|
||||
}
|
||||
|
||||
abstract class CannotOverrideInvisibleMember : KtFirDiagnostic<KtNamedDeclaration>() {
|
||||
override val diagnosticClass get() = CannotOverrideInvisibleMember::class
|
||||
abstract val overridingMember: KtCallableSymbol
|
||||
abstract val baseMember: KtCallableSymbol
|
||||
}
|
||||
|
||||
abstract class CannotWeakenAccessPrivilege : KtFirDiagnostic<KtModifierListOwner>() {
|
||||
override val diagnosticClass get() = CannotWeakenAccessPrivilege::class
|
||||
abstract val overridingVisibility: Visibility
|
||||
|
||||
+9
@@ -1854,6 +1854,15 @@ internal class NothingToOverrideImpl(
|
||||
override val firDiagnostic: FirPsiDiagnostic by weakRef(firDiagnostic)
|
||||
}
|
||||
|
||||
internal class CannotOverrideInvisibleMemberImpl(
|
||||
override val overridingMember: KtCallableSymbol,
|
||||
override val baseMember: KtCallableSymbol,
|
||||
firDiagnostic: FirPsiDiagnostic<*>,
|
||||
override val token: ValidityToken,
|
||||
) : KtFirDiagnostic.CannotOverrideInvisibleMember(), KtAbstractFirDiagnostic<KtNamedDeclaration> {
|
||||
override val firDiagnostic: FirPsiDiagnostic<*> by weakRef(firDiagnostic)
|
||||
}
|
||||
|
||||
internal class CannotWeakenAccessPrivilegeImpl(
|
||||
override val overridingVisibility: Visibility,
|
||||
override val overridden: KtCallableSymbol,
|
||||
|
||||
Reference in New Issue
Block a user