Cancellation check in loops
Reports loops, forEach-like methods, and ContainerUtil.process() with missing cancellation checks.
Runs only within the methods with com.intellij.util.concurrency.annotations.RequiresReadLock annotation.
Example:
In the case of nested loops with nothing in between:
In blocking context com.intellij.openapi.progress.ProgressManager.checkCanceled() should be used, while com.intellij.openapi.progress.CoroutinesKt.checkCancelled() should be used in suspending one.
See Background Processes Cancellation in IntelliJ Platform Plugin SDK docs for more details.
Locating this inspection
- By ID
Can be used to locate inspection in e.g. Qodana configuration files, where you can quickly enable or disable it, or adjust its settings.
CancellationCheckInLoops- Via Settings dialog
Path to the inspection settings via IntelliJ Platform IDE Settings dialog, when you need to adjust inspection settings directly from your IDE.
New in 2023.1
Inspection ID: CancellationCheckInLoops
Suppressing Inspection
You can suppress this inspection by placing the following comment marker before the code fragment where you no longer want messages from this inspection to appear:
More detailed instructions as well as other ways and options that you have can be found in the product documentation:
Inspection Details | |
|---|---|
By default bundled with: |