diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/IDEKotlinBinaryClassCache.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/IDEKotlinBinaryClassCache.kt index 8dd1edfdd54..b7a7f92291a 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/IDEKotlinBinaryClassCache.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/IDEKotlinBinaryClassCache.kt @@ -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