diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/util/ProjectRootsUtil.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/util/ProjectRootsUtil.kt index 70a2c4a498b..dea22ff9d1a 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/util/ProjectRootsUtil.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/util/ProjectRootsUtil.kt @@ -74,6 +74,11 @@ public object ProjectRootsUtil { return isInContent(element, includeProjectSource = true, includeLibrarySource = false, includeLibraryClasses = false) } + @JvmStatic + public fun isProjectSourceFile(project: Project, file: VirtualFile): Boolean { + return isInContent(project, file, includeProjectSource = true, includeLibrarySource = false, includeLibraryClasses = false) + } + @JvmStatic public fun isInProjectOrLibSource(element: PsiElement): Boolean { return isInContent(element, includeProjectSource = true, includeLibrarySource = true, includeLibraryClasses = false) @@ -94,6 +99,11 @@ public object ProjectRootsUtil { return isInContent(project, file, includeProjectSource = false, includeLibrarySource = false, includeLibraryClasses = true) } + @JvmStatic + public fun isLibrarySourceFile(project: Project, file: VirtualFile): Boolean { + return isInContent(project, file, includeProjectSource = false, includeLibrarySource = true, includeLibraryClasses = false) + } + @JvmStatic public fun isLibraryFile(project: Project, file: VirtualFile): Boolean { return isInContent(project, file, includeProjectSource = false, includeLibrarySource = true, includeLibraryClasses = true) diff --git a/idea/src/org/jetbrains/kotlin/idea/filters/KotlinExceptionFilter.kt b/idea/src/org/jetbrains/kotlin/idea/filters/KotlinExceptionFilter.kt index 4bd2c1f7abe..a08b8ee3ec7 100644 --- a/idea/src/org/jetbrains/kotlin/idea/filters/KotlinExceptionFilter.kt +++ b/idea/src/org/jetbrains/kotlin/idea/filters/KotlinExceptionFilter.kt @@ -74,7 +74,7 @@ class KotlinExceptionFilter(private val searchScope: GlobalSearchScope) : Filter private fun virtualFileForInlineCall(jvmName: JvmClassName, file: VirtualFile, lineNumber: Int, project: Project): OpenFileHyperlinkInfo? { val fqNameWithInners = jvmName.fqNameForClassNameWithoutDollars.tail(jvmName.packageFqName) - if (ProjectRootsUtil.isInContent(project, file, false, true, false)) { + if (ProjectRootsUtil.isLibrarySourceFile(project, file)) { val classId = ClassId(jvmName.packageFqName, Name.identifier(fqNameWithInners.asString())) val fileFinder = JvmVirtualFileFinder.SERVICE.getInstance(project) @@ -82,7 +82,7 @@ class KotlinExceptionFilter(private val searchScope: GlobalSearchScope) : Filter return readDebugInfoForInlineFun(classFile.contentsToByteArray(), lineNumber, project) } - if (!ProjectRootsUtil.isInContent(project, file, true, false, false)) return null + if (!ProjectRootsUtil.isProjectSourceFile(project, file)) return null val linesInFile = file.toPsiFile(project)?.getLineCount() ?: return null if (lineNumber <= linesInFile) return null