[FIR] Add SAFE_CALLABLE_REFERENCE_CALL

^KT-59835
This commit is contained in:
Nikolay Lunyak
2024-01-22 14:31:09 +02:00
committed by Space Team
parent 4fed4b6640
commit c55a7dd038
13 changed files with 47 additions and 22 deletions
@@ -3580,6 +3580,12 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert
token,
)
}
add(FirErrors.SAFE_CALLABLE_REFERENCE_CALL) { firDiagnostic ->
SafeCallableReferenceCallImpl(
firDiagnostic as KtPsiDiagnostic,
token,
)
}
add(FirErrors.LATEINIT_INTRINSIC_CALL_ON_NON_LITERAL) { firDiagnostic ->
LateinitIntrinsicCallOnNonLiteralImpl(
firDiagnostic as KtPsiDiagnostic,
@@ -2517,6 +2517,10 @@ sealed interface KtFirDiagnostic<PSI : PsiElement> : KtDiagnosticWithPsi<PSI> {
val kind: String
}
interface SafeCallableReferenceCall : KtFirDiagnostic<KtExpression> {
override val diagnosticClass get() = SafeCallableReferenceCall::class
}
interface LateinitIntrinsicCallOnNonLiteral : KtFirDiagnostic<PsiElement> {
override val diagnosticClass get() = LateinitIntrinsicCallOnNonLiteral::class
}
@@ -3029,6 +3029,11 @@ internal class ExplicitTypeArgumentsInPropertyAccessImpl(
token: KtLifetimeToken,
) : KtAbstractFirDiagnostic<KtExpression>(firDiagnostic, token), KtFirDiagnostic.ExplicitTypeArgumentsInPropertyAccess
internal class SafeCallableReferenceCallImpl(
firDiagnostic: KtPsiDiagnostic,
token: KtLifetimeToken,
) : KtAbstractFirDiagnostic<KtExpression>(firDiagnostic, token), KtFirDiagnostic.SafeCallableReferenceCall
internal class LateinitIntrinsicCallOnNonLiteralImpl(
firDiagnostic: KtPsiDiagnostic,
token: KtLifetimeToken,