[FIR] Missing NESTED_CLASS_ACCESSED_VIA_INSTANCE_REFERENCE

^KT-59433 Fixed
This commit is contained in:
Vladimir Sukharev
2023-10-11 00:33:33 +02:00
committed by Space Team
parent da1fa8fce4
commit 16dfc6df71
11 changed files with 45 additions and 2 deletions
@@ -524,6 +524,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.SUPER_IS_NOT_AN_EXPRESSION) { firDiagnostic ->
SuperIsNotAnExpressionImpl(
firDiagnostic as KtPsiDiagnostic,
@@ -414,6 +414,11 @@ 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
}
@@ -480,6 +480,12 @@ 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,