Skip to content

Commit 0682f74

Browse files
committed
Avoid duplicate file type calculation
1 parent c7812be commit 0682f74

File tree

2 files changed

+6
-4
lines changed

2 files changed

+6
-4
lines changed

idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/getModuleInfo.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ private inline fun <T> collectInfosByVirtualFile(
181181
onOccurrence(ScriptModuleInfo(project, virtualFile, scriptDefinition))
182182
}
183183

184-
val isBinary = virtualFile.isKotlinBinary()
184+
val isBinary = virtualFile.fileType.isKotlinBinary()
185185
val scriptConfigurationManager = ScriptDependenciesManager.getInstance(project)
186186
if (isBinary && virtualFile in scriptConfigurationManager.getAllScriptsClasspathScope()) {
187187
if (treatAsLibrarySource) {

idea/idea-analysis/src/org/jetbrains/kotlin/idea/util/ProjectRootsUtil.kt

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ package org.jetbrains.kotlin.idea.util
1919
import com.intellij.ide.highlighter.ArchiveFileType
2020
import com.intellij.ide.highlighter.JavaClassFileType
2121
import com.intellij.injected.editor.VirtualFileWindow
22+
import com.intellij.openapi.fileTypes.FileType
2223
import com.intellij.openapi.module.Module
2324
import com.intellij.openapi.module.ModuleUtilCore
2425
import com.intellij.openapi.project.Project
@@ -39,7 +40,7 @@ import org.jetbrains.kotlin.idea.util.application.runReadAction
3940

4041
private val kotlinBinaries = listOf(JavaClassFileType.INSTANCE, KotlinBuiltInFileType, KotlinModuleFileType.INSTANCE)
4142

42-
fun VirtualFile.isKotlinBinary(): Boolean = fileType in kotlinBinaries
43+
fun FileType.isKotlinBinary(): Boolean = this in kotlinBinaries
4344

4445
fun FileIndex.isInSourceContentWithoutInjected(file: VirtualFile): Boolean {
4546
return file !is VirtualFileWindow && isInSourceContent(file)
@@ -62,8 +63,9 @@ object ProjectRootsUtil {
6263
if (!includeLibraryClasses && !includeLibrarySource) return false
6364

6465
// NOTE: the following is a workaround for cases when class files are under library source roots and source files are under class roots
65-
val canContainClassFiles = file.fileType == ArchiveFileType.INSTANCE || file.isDirectory
66-
val isBinary = file.isKotlinBinary()
66+
val fileType = file.fileType
67+
val canContainClassFiles = fileType == ArchiveFileType.INSTANCE || file.isDirectory
68+
val isBinary = fileType.isKotlinBinary()
6769

6870
val scriptConfigurationManager = if (includeScriptDependencies) ScriptDependenciesManager.getInstance(project) else null
6971

0 commit comments

Comments
 (0)