Avoid duplicate file type calculation
This commit is contained in:
@@ -181,7 +181,7 @@ private inline fun <T> collectInfosByVirtualFile(
|
|||||||
onOccurrence(ScriptModuleInfo(project, virtualFile, scriptDefinition))
|
onOccurrence(ScriptModuleInfo(project, virtualFile, scriptDefinition))
|
||||||
}
|
}
|
||||||
|
|
||||||
val isBinary = virtualFile.isKotlinBinary()
|
val isBinary = virtualFile.fileType.isKotlinBinary()
|
||||||
val scriptConfigurationManager = ScriptDependenciesManager.getInstance(project)
|
val scriptConfigurationManager = ScriptDependenciesManager.getInstance(project)
|
||||||
if (isBinary && virtualFile in scriptConfigurationManager.getAllScriptsClasspathScope()) {
|
if (isBinary && virtualFile in scriptConfigurationManager.getAllScriptsClasspathScope()) {
|
||||||
if (treatAsLibrarySource) {
|
if (treatAsLibrarySource) {
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ package org.jetbrains.kotlin.idea.util
|
|||||||
import com.intellij.ide.highlighter.ArchiveFileType
|
import com.intellij.ide.highlighter.ArchiveFileType
|
||||||
import com.intellij.ide.highlighter.JavaClassFileType
|
import com.intellij.ide.highlighter.JavaClassFileType
|
||||||
import com.intellij.injected.editor.VirtualFileWindow
|
import com.intellij.injected.editor.VirtualFileWindow
|
||||||
|
import com.intellij.openapi.fileTypes.FileType
|
||||||
import com.intellij.openapi.module.Module
|
import com.intellij.openapi.module.Module
|
||||||
import com.intellij.openapi.module.ModuleUtilCore
|
import com.intellij.openapi.module.ModuleUtilCore
|
||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
@@ -39,7 +40,7 @@ import org.jetbrains.kotlin.idea.util.application.runReadAction
|
|||||||
|
|
||||||
private val kotlinBinaries = listOf(JavaClassFileType.INSTANCE, KotlinBuiltInFileType, KotlinModuleFileType.INSTANCE)
|
private val kotlinBinaries = listOf(JavaClassFileType.INSTANCE, KotlinBuiltInFileType, KotlinModuleFileType.INSTANCE)
|
||||||
|
|
||||||
fun VirtualFile.isKotlinBinary(): Boolean = fileType in kotlinBinaries
|
fun FileType.isKotlinBinary(): Boolean = this in kotlinBinaries
|
||||||
|
|
||||||
fun FileIndex.isInSourceContentWithoutInjected(file: VirtualFile): Boolean {
|
fun FileIndex.isInSourceContentWithoutInjected(file: VirtualFile): Boolean {
|
||||||
return file !is VirtualFileWindow && isInSourceContent(file)
|
return file !is VirtualFileWindow && isInSourceContent(file)
|
||||||
@@ -62,8 +63,9 @@ object ProjectRootsUtil {
|
|||||||
if (!includeLibraryClasses && !includeLibrarySource) return false
|
if (!includeLibraryClasses && !includeLibrarySource) return false
|
||||||
|
|
||||||
// NOTE: the following is a workaround for cases when class files are under library source roots and source files are under class roots
|
// NOTE: the following is a workaround for cases when class files are under library source roots and source files are under class roots
|
||||||
val canContainClassFiles = file.fileType == ArchiveFileType.INSTANCE || file.isDirectory
|
val fileType = file.fileType
|
||||||
val isBinary = file.isKotlinBinary()
|
val canContainClassFiles = fileType == ArchiveFileType.INSTANCE || file.isDirectory
|
||||||
|
val isBinary = fileType.isKotlinBinary()
|
||||||
|
|
||||||
val scriptConfigurationManager = if (includeScriptDependencies) ScriptDependenciesManager.getInstance(project) else null
|
val scriptConfigurationManager = if (includeScriptDependencies) ScriptDependenciesManager.getInstance(project) else null
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user