[FIR] Add SUSPENSION_POINT_INSIDE_CRITICAL_SECTION
This commit is contained in:
committed by
teamcityserver
parent
e97933a9e5
commit
0ffd6ccb34
+7
@@ -3990,6 +3990,13 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirJvmErrors.SUSPENSION_POINT_INSIDE_CRITICAL_SECTION) { firDiagnostic ->
|
||||
SuspensionPointInsideCriticalSectionImpl(
|
||||
firSymbolBuilder.callableBuilder.buildCallableSymbol(firDiagnostic.a.fir),
|
||||
firDiagnostic as FirPsiDiagnostic,
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirJvmErrors.INAPPLICABLE_JVM_FIELD) { firDiagnostic ->
|
||||
InapplicableJvmFieldImpl(
|
||||
firDiagnostic.a,
|
||||
|
||||
+5
@@ -2777,6 +2777,11 @@ sealed class KtFirDiagnostic<PSI : PsiElement> : KtDiagnosticWithPsi<PSI> {
|
||||
override val diagnosticClass get() = RepeatableAnnotationHasNestedClassNamedContainerWarning::class
|
||||
}
|
||||
|
||||
abstract class SuspensionPointInsideCriticalSection : KtFirDiagnostic<PsiElement>() {
|
||||
override val diagnosticClass get() = SuspensionPointInsideCriticalSection::class
|
||||
abstract val function: KtCallableSymbol
|
||||
}
|
||||
|
||||
abstract class InapplicableJvmField : KtFirDiagnostic<KtAnnotationEntry>() {
|
||||
override val diagnosticClass get() = InapplicableJvmField::class
|
||||
abstract val message: String
|
||||
|
||||
+8
@@ -4515,6 +4515,14 @@ internal class RepeatableAnnotationHasNestedClassNamedContainerWarningImpl(
|
||||
override val firDiagnostic: FirPsiDiagnostic by weakRef(firDiagnostic)
|
||||
}
|
||||
|
||||
internal class SuspensionPointInsideCriticalSectionImpl(
|
||||
override val function: KtCallableSymbol,
|
||||
firDiagnostic: FirPsiDiagnostic,
|
||||
override val token: ValidityToken,
|
||||
) : KtFirDiagnostic.SuspensionPointInsideCriticalSection(), KtAbstractFirDiagnostic<PsiElement> {
|
||||
override val firDiagnostic: FirPsiDiagnostic by weakRef(firDiagnostic)
|
||||
}
|
||||
|
||||
internal class InapplicableJvmFieldImpl(
|
||||
override val message: String,
|
||||
firDiagnostic: FirPsiDiagnostic,
|
||||
|
||||
Reference in New Issue
Block a user