[FIR] Report MISSING_CONSTRUCTOR_KEYWORD

^KT-59407 Fixed
This commit is contained in:
Nikolay Lunyak
2023-08-17 16:54:40 +03:00
committed by Space Team
parent f238ffa4bf
commit c33f1cda69
16 changed files with 59 additions and 29 deletions
@@ -278,6 +278,12 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert
token,
)
}
add(FirErrors.MISSING_CONSTRUCTOR_KEYWORD) { firDiagnostic ->
MissingConstructorKeywordImpl(
firDiagnostic as KtPsiDiagnostic,
token,
)
}
add(FirErrors.INVISIBLE_REFERENCE) { firDiagnostic ->
InvisibleReferenceImpl(
firSymbolBuilder.buildSymbol(firDiagnostic.a),
@@ -237,6 +237,10 @@ sealed interface KtFirDiagnostic<PSI : PsiElement> : KtDiagnosticWithPsi<PSI> {
val diagnosticName: String
}
interface MissingConstructorKeyword : KtFirDiagnostic<PsiElement> {
override val diagnosticClass get() = MissingConstructorKeyword::class
}
interface InvisibleReference : KtFirDiagnostic<PsiElement> {
override val diagnosticClass get() = InvisibleReference::class
val reference: KtSymbol
@@ -270,6 +270,11 @@ internal class ErrorSuppressionImpl(
token: KtLifetimeToken,
) : KtAbstractFirDiagnostic<PsiElement>(firDiagnostic, token), KtFirDiagnostic.ErrorSuppression
internal class MissingConstructorKeywordImpl(
firDiagnostic: KtPsiDiagnostic,
token: KtLifetimeToken,
) : KtAbstractFirDiagnostic<PsiElement>(firDiagnostic, token), KtFirDiagnostic.MissingConstructorKeyword
internal class InvisibleReferenceImpl(
override val reference: KtSymbol,
override val visible: Visibility,