[FIR] Implement NOT_SUPPORTED_INLINE_PARAMETER_IN_INLINE_PARAMETER_DEFAULT_VALUE diagnostic

#KT-59398 Fixed
This commit is contained in:
Kirill Rakhman
2023-07-21 15:57:50 +02:00
committed by Space Team
parent ed493c99e3
commit 129b930bd7
8 changed files with 40 additions and 8 deletions
@@ -4413,6 +4413,13 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert
token,
)
}
add(FirErrors.NOT_SUPPORTED_INLINE_PARAMETER_IN_INLINE_PARAMETER_DEFAULT_VALUE) { firDiagnostic ->
NotSupportedInlineParameterInInlineParameterDefaultValueImpl(
firSymbolBuilder.buildSymbol(firDiagnostic.a),
firDiagnostic as KtPsiDiagnostic,
token,
)
}
add(FirErrors.REIFIED_TYPE_PARAMETER_IN_OVERRIDE) { firDiagnostic ->
ReifiedTypeParameterInOverrideImpl(
firDiagnostic as KtPsiDiagnostic,
@@ -3079,6 +3079,11 @@ sealed interface KtFirDiagnostic<PSI : PsiElement> : KtDiagnosticWithPsi<PSI> {
val parameter: KtSymbol
}
interface NotSupportedInlineParameterInInlineParameterDefaultValue : KtFirDiagnostic<KtElement> {
override val diagnosticClass get() = NotSupportedInlineParameterInInlineParameterDefaultValue::class
val parameter: KtSymbol
}
interface ReifiedTypeParameterInOverride : KtFirDiagnostic<KtElement> {
override val diagnosticClass get() = ReifiedTypeParameterInOverride::class
}
@@ -3713,6 +3713,12 @@ internal class InvalidDefaultFunctionalParameterForInlineImpl(
token: KtLifetimeToken,
) : KtAbstractFirDiagnostic<KtElement>(firDiagnostic, token), KtFirDiagnostic.InvalidDefaultFunctionalParameterForInline
internal class NotSupportedInlineParameterInInlineParameterDefaultValueImpl(
override val parameter: KtSymbol,
firDiagnostic: KtPsiDiagnostic,
token: KtLifetimeToken,
) : KtAbstractFirDiagnostic<KtElement>(firDiagnostic, token), KtFirDiagnostic.NotSupportedInlineParameterInInlineParameterDefaultValue
internal class ReifiedTypeParameterInOverrideImpl(
firDiagnostic: KtPsiDiagnostic,
token: KtLifetimeToken,