FIR: Make 'suspend fun', where 'suspend' is not builtin error in 1.8
#KT-49264
This commit is contained in:
+12
@@ -3872,6 +3872,18 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirErrors.MODIFIER_FORM_FOR_NON_BUILT_IN_SUSPEND_FUN.errorFactory) { firDiagnostic ->
|
||||
ModifierFormForNonBuiltInSuspendFunErrorImpl(
|
||||
firDiagnostic as KtPsiDiagnostic,
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirErrors.MODIFIER_FORM_FOR_NON_BUILT_IN_SUSPEND_FUN.warningFactory) { firDiagnostic ->
|
||||
ModifierFormForNonBuiltInSuspendFunWarningImpl(
|
||||
firDiagnostic as KtPsiDiagnostic,
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirErrors.RETURN_FOR_BUILT_IN_SUSPEND) { firDiagnostic ->
|
||||
ReturnForBuiltInSuspendImpl(
|
||||
firDiagnostic as KtPsiDiagnostic,
|
||||
|
||||
+8
@@ -2699,6 +2699,14 @@ sealed class KtFirDiagnostic<PSI : PsiElement> : KtDiagnosticWithPsi<PSI> {
|
||||
override val diagnosticClass get() = ModifierFormForNonBuiltInSuspend::class
|
||||
}
|
||||
|
||||
abstract class ModifierFormForNonBuiltInSuspendFunError : KtFirDiagnostic<PsiElement>() {
|
||||
override val diagnosticClass get() = ModifierFormForNonBuiltInSuspendFunError::class
|
||||
}
|
||||
|
||||
abstract class ModifierFormForNonBuiltInSuspendFunWarning : KtFirDiagnostic<PsiElement>() {
|
||||
override val diagnosticClass get() = ModifierFormForNonBuiltInSuspendFunWarning::class
|
||||
}
|
||||
|
||||
abstract class ReturnForBuiltInSuspend : KtFirDiagnostic<KtReturnExpression>() {
|
||||
override val diagnosticClass get() = ReturnForBuiltInSuspend::class
|
||||
}
|
||||
|
||||
+10
@@ -3256,6 +3256,16 @@ internal class ModifierFormForNonBuiltInSuspendImpl(
|
||||
override val token: ValidityToken,
|
||||
) : KtFirDiagnostic.ModifierFormForNonBuiltInSuspend(), KtAbstractFirDiagnostic<PsiElement>
|
||||
|
||||
internal class ModifierFormForNonBuiltInSuspendFunErrorImpl(
|
||||
override val firDiagnostic: KtPsiDiagnostic,
|
||||
override val token: ValidityToken,
|
||||
) : KtFirDiagnostic.ModifierFormForNonBuiltInSuspendFunError(), KtAbstractFirDiagnostic<PsiElement>
|
||||
|
||||
internal class ModifierFormForNonBuiltInSuspendFunWarningImpl(
|
||||
override val firDiagnostic: KtPsiDiagnostic,
|
||||
override val token: ValidityToken,
|
||||
) : KtFirDiagnostic.ModifierFormForNonBuiltInSuspendFunWarning(), KtAbstractFirDiagnostic<PsiElement>
|
||||
|
||||
internal class ReturnForBuiltInSuspendImpl(
|
||||
override val firDiagnostic: KtPsiDiagnostic,
|
||||
override val token: ValidityToken,
|
||||
|
||||
Reference in New Issue
Block a user