ResourceBundleAsVirtualFile#isValid method is rewritten to check validity of resource bundle virtual files. Based on exception from IDEA-145012

This commit is contained in:
Dmitry Batkovich
2015-09-14 13:19:00 +03:00
parent ecf79bf051
commit 0ba37afe56
@@ -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;
}