Inspectopedia Help

Forbidden in suspend context method usage

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.

Inspection Details

By default bundled with:

IntelliJ IDEA 2024.1, Qodana for JVM 2024.1,

Can be installed with plugin:

Plugin DevKit, 241.16690

Last modified: 29 April 2024