From 0ba37afe5607b1c142af2da01cc770bec190155a Mon Sep 17 00:00:00 2001 From: Dmitry Batkovich Date: Mon, 14 Sep 2015 13:17:45 +0300 Subject: [PATCH] ResourceBundleAsVirtualFile#isValid method is rewritten to check validity of resource bundle virtual files. Based on exception from IDEA-145012 --- .../properties/editor/ResourceBundleAsVirtualFile.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/plugins/properties/src/com/intellij/lang/properties/editor/ResourceBundleAsVirtualFile.java b/plugins/properties/src/com/intellij/lang/properties/editor/ResourceBundleAsVirtualFile.java index 8885d4125c18..f3f79d086d65 100644 --- a/plugins/properties/src/com/intellij/lang/properties/editor/ResourceBundleAsVirtualFile.java +++ b/plugins/properties/src/com/intellij/lang/properties/editor/ResourceBundleAsVirtualFile.java @@ -17,6 +17,7 @@ package com.intellij.lang.properties.editor; import com.intellij.ide.presentation.Presentation; import com.intellij.lang.properties.ResourceBundle; +import com.intellij.lang.properties.ResourceBundleImpl; import com.intellij.lang.properties.psi.PropertiesFile; import com.intellij.openapi.vfs.LocalFileSystem; import com.intellij.openapi.vfs.VirtualFile; @@ -97,6 +98,15 @@ public class ResourceBundleAsVirtualFile extends VirtualFile { @Override public boolean isValid() { + if (myResourceBundle instanceof ResourceBundleImpl && !((ResourceBundleImpl)myResourceBundle).isValid()) { + return false; + } + for (PropertiesFile propertiesFile : myResourceBundle.getPropertiesFiles()) { + final VirtualFile virtualFile = propertiesFile.getVirtualFile(); + if (virtualFile == null || !virtualFile.isValid()) { + return false; + } + } return true; }