[FIR] Fix rendering of SUSPENSION_POINT_INSIDE_CRITICAL_SECTION

#KT-61826 Fixed
This commit is contained in:
Kirill Rakhman
2023-09-12 13:21:18 +02:00
committed by Space Team
parent ed4386a962
commit e996760e7e
5 changed files with 37 additions and 5 deletions
@@ -11,8 +11,8 @@ import org.jetbrains.kotlin.diagnostics.KtDiagnosticRenderers.TO_STRING
import org.jetbrains.kotlin.diagnostics.rendering.BaseDiagnosticRendererFactory
import org.jetbrains.kotlin.diagnostics.rendering.CommonRenderers.STRING
import org.jetbrains.kotlin.diagnostics.rendering.Renderer
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirDiagnosticRenderers.DECLARATION_NAME
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirDiagnosticRenderers.RENDER_TYPE
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirDiagnosticRenderers.SYMBOL
import org.jetbrains.kotlin.fir.analysis.diagnostics.jvm.FirJvmErrors.CONCURRENT_HASH_MAP_CONTAINS_OPERATOR
import org.jetbrains.kotlin.fir.analysis.diagnostics.jvm.FirJvmErrors.CONFLICTING_JVM_DECLARATIONS
import org.jetbrains.kotlin.fir.analysis.diagnostics.jvm.FirJvmErrors.DELEGATION_BY_IN_JVM_RECORD
@@ -238,7 +238,7 @@ object FirJvmErrorsDefaultMessages : BaseDiagnosticRendererFactory() {
map.put(
SUSPENSION_POINT_INSIDE_CRITICAL_SECTION,
"The ''{0}'' suspension point is inside a critical section.",
SYMBOL
DECLARATION_NAME
)
map.put(
CONCURRENT_HASH_MAP_CONTAINS_OPERATOR,
+2 -2
View File
@@ -1,7 +1,7 @@
compiler/testData/cli/jvm/suspensionPointInMonitor.kt:26:13: error: the 'suspend fun suspensionPoint(): Unit' suspension point is inside a critical section.
compiler/testData/cli/jvm/suspensionPointInMonitor.kt:26:13: error: the 'suspensionPoint' suspension point is inside a critical section.
suspensionPoint()
^
compiler/testData/cli/jvm/suspensionPointInMonitor.kt:60:17: error: the 'suspend fun suspensionPoint(): Unit' suspension point is inside a critical section.
compiler/testData/cli/jvm/suspensionPointInMonitor.kt:60:17: error: the 'suspensionPoint' suspension point is inside a critical section.
suspensionPoint()
^
COMPILATION_ERROR
@@ -0,0 +1,18 @@
/suspensionPointInMonitorNewInf.kt:19:13: error: the 'suspensionPoint' suspension point is inside a critical section
suspensionPoint()
^
/suspensionPointInMonitorNewInf.kt:23:13: error: the 'suspensionPoint' suspension point is inside a critical section
suspensionPoint()
^
/suspensionPointInMonitorNewInf.kt:26:30: error: the 'suspensionPoint' suspension point is inside a critical section
synchronized(lock, { suspensionPoint() })
^
/suspensionPointInMonitorNewInf.kt:38:13: error: the 'suspensionPoint' suspension point is inside a critical section
suspensionPoint()
^
/suspensionPointInMonitorNewInf.kt:45:9: error: the 'suspensionPoint' suspension point is inside a critical section
suspensionPoint()
^
/suspensionPointInMonitorNewInf.kt:54:45: error: the 'returnsInt' suspension point is inside a critical section
return@synchronized 1 + returnsInt()
^
@@ -0,0 +1,13 @@
/suspensionPointInMonitorNewInf.kt:(377,392): error: The 'suspensionPoint' suspension point is inside a critical section.
/suspensionPointInMonitorNewInf.kt:(453,468): error: The 'suspensionPoint' suspension point is inside a critical section.
/suspensionPointInMonitorNewInf.kt:(511,526): error: The 'suspensionPoint' suspension point is inside a critical section.
/suspensionPointInMonitorNewInf.kt:(796,811): error: The 'suspensionPoint' suspension point is inside a critical section.
/suspensionPointInMonitorNewInf.kt:(886,901): error: The 'suspensionPoint' suspension point is inside a critical section.
/suspensionPointInMonitorNewInf.kt:(1045,1051): warning: Check for instance is always 'true'.
/suspensionPointInMonitorNewInf.kt:(1101,1111): error: The 'returnsInt' suspension point is inside a critical section.
@@ -1,4 +1,5 @@
// FIR_IDENTICAL
// RENDER_DIAGNOSTICS_FULL_TEXT
// !DIAGNOSTICS: -UNUSED_PARAMETER, -USELESS_IS_CHECK
// SKIP_TXT
@@ -58,4 +59,4 @@ suspend fun ifWhenAndOtherNonsence() {
}
}
suspend fun returnsInt(): Int = 0
suspend fun returnsInt(): Int = 0