don't build dom stubs for workspace.xml

This commit is contained in:
peter
2012-09-25 19:17:20 +02:00
parent 8032d7cf76
commit 4820b01fb9
2 changed files with 10 additions and 4 deletions
@@ -24,6 +24,7 @@ import com.intellij.pom.event.PomModelListener;
import com.intellij.pom.xml.XmlAspect;
import com.intellij.pom.xml.XmlChangeSet;
import com.intellij.psi.*;
import com.intellij.psi.impl.PsiManagerEx;
import com.intellij.psi.xml.XmlAttribute;
import com.intellij.psi.xml.XmlElement;
import com.intellij.psi.xml.XmlFile;
@@ -137,7 +138,7 @@ public final class DomManagerImpl extends DomManager {
}
if (file.isValid() && StdFileTypes.XML.equals(file.getFileType())) {
final PsiFile psiFile = psiManager.findFile(file);
final PsiFile psiFile = getCachedPsiFile(file);
if (psiFile instanceof XmlFile) {
Collections.addAll(myDeletionEvents, recomputeFileElement((XmlFile)psiFile));
}
@@ -190,7 +191,11 @@ public final class DomManagerImpl extends DomManager {
private void processFileChange(final VirtualFile file) {
if (StdFileTypes.XML != file.getFileType()) return;
processFileChange(PsiManager.getInstance(myProject).findFile(file));
processFileChange(getCachedPsiFile(file));
}
private PsiFile getCachedPsiFile(VirtualFile file) {
return ((PsiManagerEx)PsiManager.getInstance(myProject)).getFileManager().getCachedPsiFile(file);
}
private void processFileChange(final PsiFile file) {
@@ -19,6 +19,7 @@ import com.intellij.ide.highlighter.XmlFileType;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.extensions.Extensions;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.project.ProjectCoreUtil;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.PsiFile;
import com.intellij.psi.PsiManager;
@@ -39,7 +40,7 @@ public class DomStubBuilder implements BinaryFileStubBuilder {
@Override
public boolean acceptsFile(VirtualFile file) {
return file.getFileType() == XmlFileType.INSTANCE;
return file.getFileType() == XmlFileType.INSTANCE && !ProjectCoreUtil.isProjectOrWorkspaceFile(file);
}
@Override
@@ -71,7 +72,7 @@ public class DomStubBuilder implements BinaryFileStubBuilder {
@Override
public int getStubVersion() {
int version = 8;
int version = 9;
DomFileDescription[] descriptions = Extensions.getExtensions(DomFileDescription.EP_NAME);
for (DomFileDescription description : descriptions) {
version += description.getStubVersion();