IJ file type optimizations based on extension

#KTIJ-21668

Merge-request: KT-MR-6288
Merged-by: Vladimir Dolzhenko <Vladimir.Dolzhenko@jetbrains.com>
This commit is contained in:
Vladimir Dolzhenko
2022-05-17 14:46:00 +00:00
committed by Space
parent 4a6466e290
commit efd5beb49b
10 changed files with 13 additions and 12 deletions
@@ -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) {
@@ -40,7 +40,7 @@ abstract class KotlinMetadataDecompiler<out V : BinaryVersion>(
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
@@ -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))