From 9a156541c18cab293990ca96f4473f3e317767ee Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Thu, 28 Dec 2017 11:47:33 +0100 Subject: [PATCH] Don't try to read attribute for files with no ID (EA-114351 - CCE: PersistentFSImpl.getFileId) --- .../jetbrains/kotlin/idea/caches/FileAttributeServiceImpl.kt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/idea/src/org/jetbrains/kotlin/idea/caches/FileAttributeServiceImpl.kt b/idea/src/org/jetbrains/kotlin/idea/caches/FileAttributeServiceImpl.kt index 983693c0bec..2e4f043097a 100644 --- a/idea/src/org/jetbrains/kotlin/idea/caches/FileAttributeServiceImpl.kt +++ b/idea/src/org/jetbrains/kotlin/idea/caches/FileAttributeServiceImpl.kt @@ -17,6 +17,7 @@ package org.jetbrains.kotlin.idea.caches import com.intellij.openapi.vfs.VirtualFile +import com.intellij.openapi.vfs.VirtualFileWithId import com.intellij.openapi.vfs.newvfs.FileAttribute import com.intellij.util.containers.ContainerUtil import com.intellij.util.io.DataInputOutputUtil @@ -70,6 +71,7 @@ class FileAttributeServiceImpl : FileAttributeService { override fun read(file: VirtualFile, id: String, readValueFun: (DataInput) -> T): CachedAttributeData? { val attribute = attributes[id] ?: throw IllegalArgumentException("Attribute with $id wasn't registered") + if (file !is VirtualFileWithId) return null val stream = attribute.readAttribute(file) ?: return null return stream.use {