diff --git a/analysis/decompiled/decompiler-to-file-stubs/src/org/jetbrains/kotlin/analysis/decompiler/stub/file/KotlinMetadataStubBuilder.kt b/analysis/decompiled/decompiler-to-file-stubs/src/org/jetbrains/kotlin/analysis/decompiler/stub/file/KotlinMetadataStubBuilder.kt index 059c25ab50f..91d683f2295 100644 --- a/analysis/decompiled/decompiler-to-file-stubs/src/org/jetbrains/kotlin/analysis/decompiler/stub/file/KotlinMetadataStubBuilder.kt +++ b/analysis/decompiled/decompiler-to-file-stubs/src/org/jetbrains/kotlin/analysis/decompiler/stub/file/KotlinMetadataStubBuilder.kt @@ -33,7 +33,7 @@ open class KotlinMetadataStubBuilder( override fun buildFileStub(content: FileContent): PsiFileStub<*>? { val virtualFile = content.file - assert(virtualFile.fileType == fileType) { "Unexpected file type ${virtualFile.fileType}" } + assert(virtualFile.extension == fileType.defaultExtension || virtualFile.fileType == fileType) { "Unexpected file type ${virtualFile.fileType.name}" } val file = readFile(virtualFile, content.content) ?: return null when (file) { diff --git a/analysis/decompiled/decompiler-to-psi/src/org/jetbrains/kotlin/analysis/decompiler/psi/KotlinMetadataDecompiler.kt b/analysis/decompiled/decompiler-to-psi/src/org/jetbrains/kotlin/analysis/decompiler/psi/KotlinMetadataDecompiler.kt index 84579ec686c..7c1e89d0d6d 100644 --- a/analysis/decompiled/decompiler-to-psi/src/org/jetbrains/kotlin/analysis/decompiler/psi/KotlinMetadataDecompiler.kt +++ b/analysis/decompiled/decompiler-to-psi/src/org/jetbrains/kotlin/analysis/decompiler/psi/KotlinMetadataDecompiler.kt @@ -40,7 +40,7 @@ abstract class KotlinMetadataDecompiler( abstract fun readFile(bytes: ByteArray, file: VirtualFile): KotlinMetadataStubBuilder.FileWithMetadata? - override fun accepts(file: VirtualFile) = file.fileType == fileType + override fun accepts(file: VirtualFile) = file.extension == fileType.defaultExtension || file.fileType == fileType override fun getStubBuilder() = metadataStubBuilder diff --git a/analysis/decompiled/light-classes-for-decompiled/src/org/jetbrains/kotlin/analysis/decompiled/light/classes/ClsJavaStubByVirtualFileCache.kt b/analysis/decompiled/light-classes-for-decompiled/src/org/jetbrains/kotlin/analysis/decompiled/light/classes/ClsJavaStubByVirtualFileCache.kt index c1187e0aa68..fd4d43fe806 100644 --- a/analysis/decompiled/light-classes-for-decompiled/src/org/jetbrains/kotlin/analysis/decompiled/light/classes/ClsJavaStubByVirtualFileCache.kt +++ b/analysis/decompiled/light-classes-for-decompiled/src/org/jetbrains/kotlin/analysis/decompiled/light/classes/ClsJavaStubByVirtualFileCache.kt @@ -33,7 +33,7 @@ class ClsJavaStubByVirtualFileCache { } private fun createStub(file: VirtualFile): PsiJavaFileStub? { - if (file.fileType !== JavaClassFileType.INSTANCE) return null + if (file.extension != JavaClassFileType.INSTANCE.defaultExtension && file.fileType !== JavaClassFileType.INSTANCE) return null try { return ClsFileImpl.buildFileStub(file, file.contentsToByteArray(false)) diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinCoreEnvironment.kt b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinCoreEnvironment.kt index cb1a23dab4b..faa363c4b33 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinCoreEnvironment.kt +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinCoreEnvironment.kt @@ -314,7 +314,7 @@ class KotlinCoreEnvironment private constructor( private val VirtualFile.javaFiles: List get() = mutableListOf().apply { VfsUtilCore.processFilesRecursively(this@javaFiles) { file -> - if (file.fileType == JavaFileType.INSTANCE) { + if (file.extension == JavaFileType.DEFAULT_EXTENSION || file.fileType == JavaFileType.INSTANCE) { add(file) } true diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/TopDownAnalyzerFacadeForJVM.kt b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/TopDownAnalyzerFacadeForJVM.kt index 837bd310abd..65ef320a425 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/TopDownAnalyzerFacadeForJVM.kt +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/TopDownAnalyzerFacadeForJVM.kt @@ -310,7 +310,7 @@ object TopDownAnalyzerFacadeForJVM { // 'isDirectory' check is needed because otherwise directories such as 'frontend.java' would be recognized // as Java source files, which makes no sense override fun contains(file: VirtualFile) = - file.fileType === JavaFileType.INSTANCE && !file.isDirectory + (file.extension == JavaFileType.DEFAULT_EXTENSION || file.fileType === JavaFileType.INSTANCE) && !file.isDirectory override fun toString() = "All Java sources in the project" } diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/coreEnvironmentUtils.kt b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/coreEnvironmentUtils.kt index 61d8d05bfc7..fb121b95eda 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/coreEnvironmentUtils.kt +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/coreEnvironmentUtils.kt @@ -58,7 +58,7 @@ inline fun List.forAllFiles( continue } - if (!vFile.isDirectory && vFile.fileType != KotlinFileType.INSTANCE) { + if (!vFile.isDirectory && vFile.extension != KotlinFileType.EXTENSION && vFile.fileType != KotlinFileType.INSTANCE) { configuration.report(CompilerMessageSeverity.ERROR, "Source entry is not a Kotlin file: $sourceRootPath", reportLocation) continue } diff --git a/compiler/frontend.common.jvm/src/org/jetbrains/kotlin/load/kotlin/KotlinBinaryClassCache.kt b/compiler/frontend.common.jvm/src/org/jetbrains/kotlin/load/kotlin/KotlinBinaryClassCache.kt index f71242fd2c3..b1b4d835478 100644 --- a/compiler/frontend.common.jvm/src/org/jetbrains/kotlin/load/kotlin/KotlinBinaryClassCache.kt +++ b/compiler/frontend.common.jvm/src/org/jetbrains/kotlin/load/kotlin/KotlinBinaryClassCache.kt @@ -62,7 +62,9 @@ class KotlinBinaryClassCache : Disposable { fun getKotlinBinaryClassOrClassFileContent( file: VirtualFile, fileContent: ByteArray? = null ): KotlinClassFinder.Result? { - if (file.fileType !== JavaClassFileType.INSTANCE) return null + if (file.extension != JavaClassFileType.INSTANCE.defaultExtension && + file.fileType !== JavaClassFileType.INSTANCE + ) return null if (file.name == PsiJavaModule.MODULE_INFO_CLS_FILE) return null diff --git a/compiler/frontend.common.jvm/src/org/jetbrains/kotlin/load/kotlin/VirtualFileKotlinClass.kt b/compiler/frontend.common.jvm/src/org/jetbrains/kotlin/load/kotlin/VirtualFileKotlinClass.kt index 903bded0252..5c568fb885f 100644 --- a/compiler/frontend.common.jvm/src/org/jetbrains/kotlin/load/kotlin/VirtualFileKotlinClass.kt +++ b/compiler/frontend.common.jvm/src/org/jetbrains/kotlin/load/kotlin/VirtualFileKotlinClass.kt @@ -9,7 +9,6 @@ import com.intellij.ide.highlighter.JavaClassFileType import com.intellij.openapi.diagnostic.ControlFlowException import com.intellij.openapi.diagnostic.Logger import com.intellij.openapi.vfs.VirtualFile -import org.jetbrains.kotlin.load.kotlin.KotlinClassFinder import org.jetbrains.kotlin.load.kotlin.KotlinClassFinder.Result.KotlinClass import org.jetbrains.kotlin.load.kotlin.header.KotlinClassHeader import org.jetbrains.kotlin.name.ClassId @@ -49,7 +48,7 @@ class VirtualFileKotlinClass private constructor( internal fun create(file: VirtualFile, fileContent: ByteArray?): KotlinClassFinder.Result? { return perfCounter.time { - assert(file.fileType == JavaClassFileType.INSTANCE) { "Trying to read binary data from a non-class file $file" } + assert(file.extension == JavaClassFileType.INSTANCE.defaultExtension || file.fileType == JavaClassFileType.INSTANCE) { "Trying to read binary data from a non-class file $file" } try { val byteContent = fileContent ?: file.contentsToByteArray(false) diff --git a/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/modules/JavaModule.kt b/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/modules/JavaModule.kt index 29d4c19a0e6..6e0f3cdebd7 100644 --- a/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/modules/JavaModule.kt +++ b/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/modules/JavaModule.kt @@ -90,7 +90,7 @@ interface JavaModule { get() = moduleInfo.moduleName override val isSourceModule: Boolean - get() = moduleInfoFile.fileType == JavaFileType.INSTANCE + get() = moduleInfoFile.extension == JavaFileType.DEFAULT_EXTENSION || moduleInfoFile.fileType == JavaFileType.INSTANCE override fun exports(packageFqName: FqName): Boolean { return moduleInfo.exports.any { (fqName, toModules) -> diff --git a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/resolve/refineCompilationConfiguration.kt b/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/resolve/refineCompilationConfiguration.kt index 0b600868076..99dfe8528f8 100644 --- a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/resolve/refineCompilationConfiguration.kt +++ b/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/resolve/refineCompilationConfiguration.kt @@ -55,7 +55,7 @@ internal fun VirtualFile.getAnnotationEntries(project: Project): Iterable