Don't try to read attribute for files with no ID

(EA-114351 - CCE: PersistentFSImpl.getFileId)
This commit is contained in:
Dmitry Jemerov
2017-12-28 11:47:33 +01:00
parent 5e765c525e
commit 9a156541c1
@@ -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 <T> read(file: VirtualFile, id: String, readValueFun: (DataInput) -> T): CachedAttributeData<T>? {
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 {