Inspectopedia
 
2024.3

Forbidden in suspend context method usage

Warning
New
Last modified: 03 December 2024

Reports inappropriate usages of methods in Kotlin coroutines, which uses threading context (annotated with @RequiresBlockingContext). Many of these methods have corresponding coroutine-friendly analogues, that can be used in suspend contexts.

Examples:

  • com.intellij.openapi.progress.ProgressManager.checkCanceled() should be replaced with com.intellij.openapi.progress.checkCancelled()

  • com.intellij.openapi.application.Application.invokeAndWait() should be replaced with withContext(Dispatchers.EDT)

  • etc.