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.components.ServiceManager
|
||||||
import com.intellij.openapi.util.Key
|
import com.intellij.openapi.util.Key
|
||||||
import com.intellij.openapi.vfs.VirtualFile
|
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.KotlinBinaryClassCache
|
||||||
import org.jetbrains.kotlin.load.kotlin.KotlinJvmBinaryClass
|
import org.jetbrains.kotlin.load.kotlin.KotlinJvmBinaryClass
|
||||||
import org.jetbrains.kotlin.load.kotlin.header.KotlinClassHeader
|
import org.jetbrains.kotlin.load.kotlin.header.KotlinClassHeader
|
||||||
@@ -53,7 +54,9 @@ object IDEKotlinBinaryClassCache {
|
|||||||
val kotlinBinaryClass = KotlinBinaryClassCache.getKotlinBinaryClass(file, fileContent)
|
val kotlinBinaryClass = KotlinBinaryClassCache.getKotlinBinaryClass(file, fileContent)
|
||||||
|
|
||||||
val isKotlinBinaryClass = kotlinBinaryClass != null
|
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) {
|
if (isKotlinBinaryClass) {
|
||||||
val headerInfo = createHeaderInfo(kotlinBinaryClass)
|
val headerInfo = createHeaderInfo(kotlinBinaryClass)
|
||||||
@@ -99,7 +102,10 @@ object IDEKotlinBinaryClassCache {
|
|||||||
return userData
|
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) {
|
if (isKotlinBinaryAttribute != null) {
|
||||||
val isKotlinBinary = isKotlinBinaryAttribute.value
|
val isKotlinBinary = isKotlinBinaryAttribute.value
|
||||||
|
|||||||
Reference in New Issue
Block a user