[FIR] Report list of conflicting symbols in REDECLARATION and CONFLICTING_OVERLOADS
This commit is contained in:
committed by
TeamCityServer
parent
7a4625b70b
commit
d696a488b5
+6
-2
@@ -731,14 +731,18 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert
|
||||
}
|
||||
add(FirErrors.CONFLICTING_OVERLOADS) { firDiagnostic ->
|
||||
ConflictingOverloadsImpl(
|
||||
firDiagnostic.a,
|
||||
firDiagnostic.a.map { abstractFirBasedSymbol ->
|
||||
firSymbolBuilder.buildSymbol(abstractFirBasedSymbol.fir as FirDeclaration)
|
||||
},
|
||||
firDiagnostic as FirPsiDiagnostic<*>,
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirErrors.REDECLARATION) { firDiagnostic ->
|
||||
RedeclarationImpl(
|
||||
firDiagnostic.a,
|
||||
firDiagnostic.a.map { abstractFirBasedSymbol ->
|
||||
firSymbolBuilder.buildSymbol(abstractFirBasedSymbol.fir as FirDeclaration)
|
||||
},
|
||||
firDiagnostic as FirPsiDiagnostic<*>,
|
||||
token,
|
||||
)
|
||||
|
||||
+2
-2
@@ -521,12 +521,12 @@ sealed class KtFirDiagnostic<PSI: PsiElement> : KtDiagnosticWithPsi<PSI> {
|
||||
|
||||
abstract class ConflictingOverloads : KtFirDiagnostic<PsiElement>() {
|
||||
override val diagnosticClass get() = ConflictingOverloads::class
|
||||
abstract val conflictingOverloads: String
|
||||
abstract val conflictingOverloads: List<KtSymbol>
|
||||
}
|
||||
|
||||
abstract class Redeclaration : KtFirDiagnostic<PsiElement>() {
|
||||
override val diagnosticClass get() = Redeclaration::class
|
||||
abstract val conflictingDeclaration: String
|
||||
abstract val conflictingDeclarations: List<KtSymbol>
|
||||
}
|
||||
|
||||
abstract class AnyMethodImplementedInInterface : KtFirDiagnostic<PsiElement>() {
|
||||
|
||||
+2
-2
@@ -830,7 +830,7 @@ internal class ManyCompanionObjectsImpl(
|
||||
}
|
||||
|
||||
internal class ConflictingOverloadsImpl(
|
||||
override val conflictingOverloads: String,
|
||||
override val conflictingOverloads: List<KtSymbol>,
|
||||
firDiagnostic: FirPsiDiagnostic<*>,
|
||||
override val token: ValidityToken,
|
||||
) : KtFirDiagnostic.ConflictingOverloads(), KtAbstractFirDiagnostic<PsiElement> {
|
||||
@@ -838,7 +838,7 @@ internal class ConflictingOverloadsImpl(
|
||||
}
|
||||
|
||||
internal class RedeclarationImpl(
|
||||
override val conflictingDeclaration: String,
|
||||
override val conflictingDeclarations: List<KtSymbol>,
|
||||
firDiagnostic: FirPsiDiagnostic<*>,
|
||||
override val token: ValidityToken,
|
||||
) : KtFirDiagnostic.Redeclaration(), KtAbstractFirDiagnostic<PsiElement> {
|
||||
|
||||
Reference in New Issue
Block a user