Skip to content

Commit dd9be0e

Browse files
author
Alec Kazakova
authored
Handle process cancellation during find usages (#4340)
1 parent 68692f2 commit dd9be0e

File tree

3 files changed

+10
-3
lines changed

3 files changed

+10
-3
lines changed

sqldelight-idea-plugin/src/main/kotlin/app/cash/sqldelight/intellij/SqlDelightColumnRenameProcessor.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ class SqlDelightColumnRenameProcessor : RenamePsiElementProcessor() {
2929
val collectProcessor = CommonProcessors.CollectProcessor<UsageInfo>()
3030
val readActionProcessor = ReadActionProcessor.wrapInReadAction(collectProcessor)
3131
val findUsagesHandler = findUsagesHandlerFactory.createFindUsagesHandler(element, false)
32-
findUsagesHandler.processElementUsages(
32+
findUsagesHandler?.processElementUsages(
3333
/* element = */
3434
element,
3535
/* processor = */

sqldelight-idea-plugin/src/main/kotlin/app/cash/sqldelight/intellij/SqlDelightFindUsagesHandlerFactory.kt

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import com.intellij.find.findUsages.FindUsagesOptions
1515
import com.intellij.openapi.application.ApplicationManager
1616
import com.intellij.openapi.application.ReadAction
1717
import com.intellij.openapi.module.ModuleUtil
18+
import com.intellij.openapi.progress.ProcessCanceledException
1819
import com.intellij.openapi.roots.ProjectRootManager
1920
import com.intellij.openapi.util.Computable
2021
import com.intellij.openapi.vfs.VirtualFile
@@ -41,7 +42,13 @@ internal class SqlDelightFindUsagesHandlerFactory : FindUsagesHandlerFactory() {
4142
override fun createFindUsagesHandler(
4243
element: PsiElement,
4344
forHighlightUsages: Boolean,
44-
): FindUsagesHandler = SqlDelightIdentifierHandler(element)
45+
): FindUsagesHandler? {
46+
return try {
47+
SqlDelightIdentifierHandler(element)
48+
} catch (e: ProcessCanceledException) {
49+
null
50+
}
51+
}
4552
}
4653

4754
internal class SqlDelightIdentifierHandler(

sqldelight-idea-plugin/src/main/kotlin/app/cash/sqldelight/intellij/inspections/UnusedQueryInspection.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ internal class UnusedQueryInspection : LocalInspectionTool() {
6060
isSearchForTextOccurrences = false
6161
}
6262
val findUsagesHandler = findUsagesFactory.createFindUsagesHandler(stmtIdentifier, true)
63-
findUsagesHandler.processElementUsages(stmtIdentifier, readActionProcessor, findUsagesOptions)
63+
findUsagesHandler?.processElementUsages(stmtIdentifier, readActionProcessor, findUsagesOptions)
6464
return findFirstProcessor.isFound
6565
}
6666

0 commit comments

Comments
 (0)