rrn/sukharev/kt59433-add-text-for-NESTED_CLASS_ACCESSED_VIA_INSTANCE_REFERENCE

Follow-up to https://jetbrains.team/p/kt/reviews/12502/timeline which was incomplete for https://youtrack.jetbrains.com/issue/KT-59433/K2-Missing-NESTEDCLASSACCESSEDVIAINSTANCEREFERENCE
- Fix test DefaultMessagesTest by adding a text for new diagnostic.
- Move diagnostic's definition into better place

Merge-request: KT-MR-12680
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com>
This commit is contained in:
Vladimir Sukharev
2023-10-20 18:04:21 +00:00
committed by Space Team
parent ad0fad5fad
commit f98451e381
7 changed files with 25 additions and 23 deletions
@@ -524,13 +524,6 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert
token,
)
}
add(FirErrors.NESTED_CLASS_ACCESSED_VIA_INSTANCE_REFERENCE) { firDiagnostic ->
NestedClassAccessedViaInstanceReferenceImpl(
firSymbolBuilder.classifierBuilder.buildClassLikeSymbol(firDiagnostic.a),
firDiagnostic as KtPsiDiagnostic,
token,
)
}
add(FirErrors.SUPER_IS_NOT_AN_EXPRESSION) { firDiagnostic ->
SuperIsNotAnExpressionImpl(
firDiagnostic as KtPsiDiagnostic,
@@ -2024,6 +2017,13 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert
token,
)
}
add(FirErrors.NESTED_CLASS_ACCESSED_VIA_INSTANCE_REFERENCE) { firDiagnostic ->
NestedClassAccessedViaInstanceReferenceImpl(
firSymbolBuilder.classifierBuilder.buildClassLikeSymbol(firDiagnostic.a),
firDiagnostic as KtPsiDiagnostic,
token,
)
}
add(FirErrors.OVERLOAD_RESOLUTION_AMBIGUITY) { firDiagnostic ->
OverloadResolutionAmbiguityImpl(
firDiagnostic.a.map { firBasedSymbol ->
@@ -414,11 +414,6 @@ sealed interface KtFirDiagnostic<PSI : PsiElement> : KtDiagnosticWithPsi<PSI> {
val suggestedFunction: String
}
interface NestedClassAccessedViaInstanceReference : KtFirDiagnostic<PsiElement> {
override val diagnosticClass get() = NestedClassAccessedViaInstanceReference::class
val symbol: KtClassLikeSymbol
}
interface SuperIsNotAnExpression : KtFirDiagnostic<PsiElement> {
override val diagnosticClass get() = SuperIsNotAnExpression::class
}
@@ -1452,6 +1447,11 @@ sealed interface KtFirDiagnostic<PSI : PsiElement> : KtDiagnosticWithPsi<PSI> {
val message: String
}
interface NestedClassAccessedViaInstanceReference : KtFirDiagnostic<PsiElement> {
override val diagnosticClass get() = NestedClassAccessedViaInstanceReference::class
val symbol: KtClassLikeSymbol
}
interface OverloadResolutionAmbiguity : KtFirDiagnostic<PsiElement> {
override val diagnosticClass get() = OverloadResolutionAmbiguity::class
val candidates: List<KtSymbol>
@@ -480,12 +480,6 @@ internal class DeprecatedBinaryModImpl(
token: KtLifetimeToken,
) : KtAbstractFirDiagnostic<PsiElement>(firDiagnostic, token), KtFirDiagnostic.DeprecatedBinaryMod
internal class NestedClassAccessedViaInstanceReferenceImpl(
override val symbol: KtClassLikeSymbol,
firDiagnostic: KtPsiDiagnostic,
token: KtLifetimeToken,
) : KtAbstractFirDiagnostic<PsiElement>(firDiagnostic, token), KtFirDiagnostic.NestedClassAccessedViaInstanceReference
internal class SuperIsNotAnExpressionImpl(
firDiagnostic: KtPsiDiagnostic,
token: KtLifetimeToken,
@@ -1742,6 +1736,12 @@ internal class InferenceUnsuccessfulForkImpl(
token: KtLifetimeToken,
) : KtAbstractFirDiagnostic<PsiElement>(firDiagnostic, token), KtFirDiagnostic.InferenceUnsuccessfulFork
internal class NestedClassAccessedViaInstanceReferenceImpl(
override val symbol: KtClassLikeSymbol,
firDiagnostic: KtPsiDiagnostic,
token: KtLifetimeToken,
) : KtAbstractFirDiagnostic<PsiElement>(firDiagnostic, token), KtFirDiagnostic.NestedClassAccessedViaInstanceReference
internal class OverloadResolutionAmbiguityImpl(
override val candidates: List<KtSymbol>,
firDiagnostic: KtPsiDiagnostic,