Skip to content

Commit 34248bb

Browse files
mmvpmtamarinvs19
authored andcommitted
Handle non-physical PsiFile in utbot inspections (#1598)
1 parent 6ab9baf commit 34248bb

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/inspection/UnitTestBotInspectionTool.kt

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import com.intellij.openapi.util.TextRange
66
import com.intellij.psi.JavaPsiFacade
77
import com.intellij.psi.PsiDocumentManager
88
import com.intellij.psi.PsiFile
9+
import org.jetbrains.kotlin.idea.core.util.toPsiFile
910
import org.jetbrains.kotlin.idea.search.allScope
1011
import org.utbot.sarif.*
1112
import java.nio.file.Path
@@ -59,7 +60,14 @@ class UnitTestBotInspectionTool : GlobalSimpleInspectionTool() {
5960
val errorPsiFile = srcFileLogicalLocation?.fullyQualifiedName?.let { errorClassFqn ->
6061
val psiFacade = JavaPsiFacade.getInstance(srcPsiFile.project)
6162
val psiClass = psiFacade.findClass(errorClassFqn, srcPsiFile.project.allScope())
62-
psiClass?.containingFile
63+
val psiFile = psiClass?.containingFile ?: return@let null
64+
65+
// We can't just return psiFile because it may be non-physical
66+
if (psiFile.isPhysical) {
67+
psiFile
68+
} else {
69+
psiFile.virtualFile.toPsiFile(srcPsiFile.project)
70+
}
6371
} ?: srcPsiFile
6472
val errorRegion = srcFilePhysicalLocation.region
6573
val errorTextRange = getTextRange(problemsHolder.project, errorPsiFile, errorRegion)

0 commit comments

Comments
 (0)