Minor, ProjectRootsUtil: extract a couple of utils and use them
This commit is contained in:
@@ -74,6 +74,11 @@ public object ProjectRootsUtil {
|
|||||||
return isInContent(element, includeProjectSource = true, includeLibrarySource = false, includeLibraryClasses = false)
|
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
|
@JvmStatic
|
||||||
public fun isInProjectOrLibSource(element: PsiElement): Boolean {
|
public fun isInProjectOrLibSource(element: PsiElement): Boolean {
|
||||||
return isInContent(element, includeProjectSource = true, includeLibrarySource = true, includeLibraryClasses = false)
|
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)
|
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
|
@JvmStatic
|
||||||
public fun isLibraryFile(project: Project, file: VirtualFile): Boolean {
|
public fun isLibraryFile(project: Project, file: VirtualFile): Boolean {
|
||||||
return isInContent(project, file, includeProjectSource = false, includeLibrarySource = true, includeLibraryClasses = true)
|
return isInContent(project, file, includeProjectSource = false, includeLibrarySource = true, includeLibraryClasses = true)
|
||||||
|
|||||||
@@ -74,7 +74,7 @@ class KotlinExceptionFilter(private val searchScope: GlobalSearchScope) : Filter
|
|||||||
private fun virtualFileForInlineCall(jvmName: JvmClassName, file: VirtualFile, lineNumber: Int, project: Project): OpenFileHyperlinkInfo? {
|
private fun virtualFileForInlineCall(jvmName: JvmClassName, file: VirtualFile, lineNumber: Int, project: Project): OpenFileHyperlinkInfo? {
|
||||||
val fqNameWithInners = jvmName.fqNameForClassNameWithoutDollars.tail(jvmName.packageFqName)
|
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 classId = ClassId(jvmName.packageFqName, Name.identifier(fqNameWithInners.asString()))
|
||||||
|
|
||||||
val fileFinder = JvmVirtualFileFinder.SERVICE.getInstance(project)
|
val fileFinder = JvmVirtualFileFinder.SERVICE.getInstance(project)
|
||||||
@@ -82,7 +82,7 @@ class KotlinExceptionFilter(private val searchScope: GlobalSearchScope) : Filter
|
|||||||
return readDebugInfoForInlineFun(classFile.contentsToByteArray(), lineNumber, project)
|
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
|
val linesInFile = file.toPsiFile(project)?.getLineCount() ?: return null
|
||||||
if (lineNumber <= linesInFile) return null
|
if (lineNumber <= linesInFile) return null
|
||||||
|
|||||||
Reference in New Issue
Block a user