diff --git a/idea-plugin/p3c-common/src/main/kotlin/com/alibaba/p3c/idea/action/PmdGlobalInspectionContextImpl.kt b/idea-plugin/p3c-common/src/main/kotlin/com/alibaba/p3c/idea/action/PmdGlobalInspectionContextImpl.kt index f7c277872..674a5cada 100644 --- a/idea-plugin/p3c-common/src/main/kotlin/com/alibaba/p3c/idea/action/PmdGlobalInspectionContextImpl.kt +++ b/idea-plugin/p3c-common/src/main/kotlin/com/alibaba/p3c/idea/action/PmdGlobalInspectionContextImpl.kt @@ -231,11 +231,14 @@ class PmdGlobalInspectionContextImpl( val fileIndex: FileIndex = ProjectRootManager.getInstance(project).fileIndex scope.accept { file: VirtualFile? -> ProgressManager.checkCanceled() - if (isProjectOrWorkspaceFile(file!!) || !fileIndex.isInContent(file)) return@accept true + val isValidFile = ReadAction.compute { + isProjectOrWorkspaceFile(file!!) || !fileIndex.isInContent(file) + } + if (isValidFile) return@accept true val psiFile = ReadAction.compute { if (project.isDisposed) throw ProcessCanceledException() - val psi = PsiManager.getInstance(project).findFile(file) + val psi = PsiManager.getInstance(project).findFile(file!!) val document = psi?.let { shouldProcess(it, headlessEnvironment, localScopeFiles) } if (document != null) {