in src/main/kotlin/com/github/mkartashev/hserr/Utils.kt [53:71]
fun getHsErrLogCached(project: Project, virtualFile: VirtualFile): HsErrLog? {
val fileDocumentManager = FileDocumentManager.getInstance()
val document = fileDocumentManager.getDocument(virtualFile)
var log = virtualFile.getUserData(hsErrLogKey)
if (log == null && document != null) {
val psiFile = com.intellij.psi.PsiDocumentManager.getInstance(project).getPsiFile(document)
val fileText = psiFile?.text
if (fileText != null) {
try {
log = HsErrLog(fileText)
virtualFile.putUserData(hsErrLogKey, log)
} catch (ignored: IOException) {
}
}
}
return log
}