[FIR] Implement INVALID_CHARACTERS

This commit is contained in:
Ivan Kochurkin
2021-07-22 23:47:01 +03:00
committed by Space
parent 63fc3645ab
commit 83895c49c5
14 changed files with 99 additions and 116 deletions
@@ -2876,6 +2876,13 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert
token,
)
}
add(FirErrors.INVALID_CHARACTERS) { firDiagnostic ->
InvalidCharactersImpl(
firDiagnostic.a,
firDiagnostic as FirPsiDiagnostic,
token,
)
}
add(FirErrors.EQUALITY_NOT_APPLICABLE) { firDiagnostic ->
EqualityNotApplicableImpl(
firDiagnostic.a,
@@ -2011,6 +2011,11 @@ sealed class KtFirDiagnostic<PSI : PsiElement> : KtDiagnosticWithPsi<PSI> {
override val diagnosticClass get() = UnderscoreUsageWithoutBackticks::class
}
abstract class InvalidCharacters : KtFirDiagnostic<KtNamedDeclaration>() {
override val diagnosticClass get() = InvalidCharacters::class
abstract val message: String
}
abstract class EqualityNotApplicable : KtFirDiagnostic<KtBinaryExpression>() {
override val diagnosticClass get() = EqualityNotApplicable::class
abstract val operator: String
@@ -3239,6 +3239,14 @@ internal class UnderscoreUsageWithoutBackticksImpl(
override val firDiagnostic: FirPsiDiagnostic by weakRef(firDiagnostic)
}
internal class InvalidCharactersImpl(
override val message: String,
firDiagnostic: FirPsiDiagnostic,
override val token: ValidityToken,
) : KtFirDiagnostic.InvalidCharacters(), KtAbstractFirDiagnostic<KtNamedDeclaration> {
override val firDiagnostic: FirPsiDiagnostic by weakRef(firDiagnostic)
}
internal class EqualityNotApplicableImpl(
override val operator: String,
override val leftType: KtType,