diff --git a/compiler/fir/checkers/checkers.jvm/src/org/jetbrains/kotlin/fir/analysis/diagnostics/jvm/FirJvmErrorsDefaultMessages.kt b/compiler/fir/checkers/checkers.jvm/src/org/jetbrains/kotlin/fir/analysis/diagnostics/jvm/FirJvmErrorsDefaultMessages.kt index fd32b01049a..97ff2ca5795 100644 --- a/compiler/fir/checkers/checkers.jvm/src/org/jetbrains/kotlin/fir/analysis/diagnostics/jvm/FirJvmErrorsDefaultMessages.kt +++ b/compiler/fir/checkers/checkers.jvm/src/org/jetbrains/kotlin/fir/analysis/diagnostics/jvm/FirJvmErrorsDefaultMessages.kt @@ -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, diff --git a/compiler/testData/cli/jvm/suspensionPointInMonitor.out b/compiler/testData/cli/jvm/suspensionPointInMonitor.out index 7192ef0de0d..7ac7e9bcc4e 100644 --- a/compiler/testData/cli/jvm/suspensionPointInMonitor.out +++ b/compiler/testData/cli/jvm/suspensionPointInMonitor.out @@ -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 diff --git a/compiler/testData/diagnostics/testsWithStdLib/coroutines/suspensionPointInMonitorNewInf.diag.txt b/compiler/testData/diagnostics/testsWithStdLib/coroutines/suspensionPointInMonitorNewInf.diag.txt new file mode 100644 index 00000000000..e1f45f85de0 --- /dev/null +++ b/compiler/testData/diagnostics/testsWithStdLib/coroutines/suspensionPointInMonitorNewInf.diag.txt @@ -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() + ^ diff --git a/compiler/testData/diagnostics/testsWithStdLib/coroutines/suspensionPointInMonitorNewInf.fir.diag.txt b/compiler/testData/diagnostics/testsWithStdLib/coroutines/suspensionPointInMonitorNewInf.fir.diag.txt new file mode 100644 index 00000000000..dabdaefb34a --- /dev/null +++ b/compiler/testData/diagnostics/testsWithStdLib/coroutines/suspensionPointInMonitorNewInf.fir.diag.txt @@ -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. diff --git a/compiler/testData/diagnostics/testsWithStdLib/coroutines/suspensionPointInMonitorNewInf.kt b/compiler/testData/diagnostics/testsWithStdLib/coroutines/suspensionPointInMonitorNewInf.kt index 84305ec8b7c..5915d8b8061 100644 --- a/compiler/testData/diagnostics/testsWithStdLib/coroutines/suspensionPointInMonitorNewInf.kt +++ b/compiler/testData/diagnostics/testsWithStdLib/coroutines/suspensionPointInMonitorNewInf.kt @@ -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 \ No newline at end of file +suspend fun returnsInt(): Int = 0