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

Available in:

IntelliJ IDEA 2023.3, Qodana for JVM 2023.3

Plugin:

Plugin DevKit, 233.SNAPSHOT

Last modified: 13 July 2023