From 836006b3f38c6e9c8c785bf05cc54f987c11aa80 Mon Sep 17 00:00:00 2001 From: Natalia Selezneva Date: Fri, 12 Apr 2019 14:18:25 +0300 Subject: [PATCH] Do not use canonical paths in OutsidersPsiFileSupportUtils (EA-135551) EA-135551 - IOE: OutsidersPsiFileSupportUtils$getOutsiderFileOrigin$.invoke --- .../idea/highlighter/OutsidersPsiFileSupportUtils.kt | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/OutsidersPsiFileSupportUtils.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/OutsidersPsiFileSupportUtils.kt index 73e12c5b8a5..0988f8c0b8d 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/OutsidersPsiFileSupportUtils.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/OutsidersPsiFileSupportUtils.kt @@ -8,7 +8,7 @@ package org.jetbrains.kotlin.idea.highlighter import com.intellij.openapi.project.Project import com.intellij.openapi.vfs.VfsUtil import com.intellij.openapi.vfs.VirtualFile -import java.io.File +import java.nio.file.Paths object OutsidersPsiFileSupportUtils { fun getOutsiderFileOrigin(project: Project, virtualFile: VirtualFile): VirtualFile? { @@ -16,9 +16,8 @@ object OutsidersPsiFileSupportUtils { val originalFilePath = OutsidersPsiFileSupportWrapper.getOriginalFilePath(virtualFile) ?: return null - return generateSequence(File(originalFilePath)) { if (it.canonicalPath == project.baseDir.canonicalPath) null else it.parentFile } - .filter { it.exists() } - .firstOrNull() - ?.let { VfsUtil.findFileByIoFile(it, false) } + return generateSequence(VfsUtil.findFile(Paths.get(originalFilePath), true)) { + if (it == project.baseDir) null else it.parent + }.filter { it.exists() }.firstOrNull() } } \ No newline at end of file