Don't try to store "is Kotlin" state for non-local jars (EA-80264)
This commit is contained in:
+8
-2
@@ -20,6 +20,7 @@ import com.intellij.ide.highlighter.JavaClassFileType
|
||||
import com.intellij.openapi.components.ServiceManager
|
||||
import com.intellij.openapi.util.Key
|
||||
import com.intellij.openapi.vfs.VirtualFile
|
||||
import com.intellij.openapi.vfs.VirtualFileWithId
|
||||
import org.jetbrains.kotlin.load.kotlin.KotlinBinaryClassCache
|
||||
import org.jetbrains.kotlin.load.kotlin.KotlinJvmBinaryClass
|
||||
import org.jetbrains.kotlin.load.kotlin.header.KotlinClassHeader
|
||||
@@ -53,7 +54,9 @@ object IDEKotlinBinaryClassCache {
|
||||
val kotlinBinaryClass = KotlinBinaryClassCache.getKotlinBinaryClass(file, fileContent)
|
||||
|
||||
val isKotlinBinaryClass = kotlinBinaryClass != null
|
||||
attributeService.writeBooleanAttribute(KOTLIN_IS_COMPILED_FILE_ATTRIBUTE, file, isKotlinBinaryClass)
|
||||
if (file is VirtualFileWithId) {
|
||||
attributeService.writeBooleanAttribute(KOTLIN_IS_COMPILED_FILE_ATTRIBUTE, file, isKotlinBinaryClass)
|
||||
}
|
||||
|
||||
if (isKotlinBinaryClass) {
|
||||
val headerInfo = createHeaderInfo(kotlinBinaryClass)
|
||||
@@ -99,7 +102,10 @@ object IDEKotlinBinaryClassCache {
|
||||
return userData
|
||||
}
|
||||
|
||||
val isKotlinBinaryAttribute = attributeService.readBooleanAttribute(KOTLIN_IS_COMPILED_FILE_ATTRIBUTE, file)
|
||||
val isKotlinBinaryAttribute = if (file is VirtualFileWithId)
|
||||
attributeService.readBooleanAttribute(KOTLIN_IS_COMPILED_FILE_ATTRIBUTE, file)
|
||||
else
|
||||
null
|
||||
|
||||
if (isKotlinBinaryAttribute != null) {
|
||||
val isKotlinBinary = isKotlinBinaryAttribute.value
|
||||
|
||||
Reference in New Issue
Block a user