From a71fdfb969b18a10eaeaad66a2b372ace61bf37d Mon Sep 17 00:00:00 2001 From: Dmitry Avdeev Date: Fri, 16 Mar 2012 14:04:57 +0400 Subject: [PATCH] IDEA-82638 Clicking CTRL+ALT+L on 4K lines spring config XML file freezes idea forever improving file reference performance under web roots --- .../impl/providers/FileReference.java | 21 +------------------ 1 file changed, 1 insertion(+), 20 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/psi/impl/source/resolve/reference/impl/providers/FileReference.java b/platform/lang-impl/src/com/intellij/psi/impl/source/resolve/reference/impl/providers/FileReference.java index 3dab1d02b5d9..b8df84dcbdeb 100644 --- a/platform/lang-impl/src/com/intellij/psi/impl/source/resolve/reference/impl/providers/FileReference.java +++ b/platform/lang-impl/src/com/intellij/psi/impl/source/resolve/reference/impl/providers/FileReference.java @@ -65,25 +65,6 @@ public class FileReference implements FileReferenceOwner, PsiPolyVariantReferenc private static final Logger LOG = Logger.getInstance("#com.intellij.psi.impl.source.resolve.reference.impl.providers.FileReference"); public static final FileReference[] EMPTY = new FileReference[0]; - private static final TObjectHashingStrategy RESOLVE_RESULT_HASHING_STRATEGY = new TObjectHashingStrategy() { - @Override - public int computeHashCode(ResolveResult object) { - PsiFileSystemItem fileSystemItem = (PsiFileSystemItem)object.getElement(); - if (fileSystemItem == null) { - return 0; - } - VirtualFile file = fileSystemItem.getVirtualFile(); - return file == null ? 0 : file.hashCode(); - } - - @Override - public boolean equals(ResolveResult o1, ResolveResult o2) { - PsiFileSystemItem element1 = (PsiFileSystemItem)o1.getElement(); - PsiFileSystemItem element2 = (PsiFileSystemItem)o2.getElement(); - if (element1 == null || element2 == null) return Comparing.equal(element1, element2); - return Comparing.equal(element1.getVirtualFile(), element2.getVirtualFile()); - } - }; private static final TObjectHashingStrategy VARIANTS_HASHING_STRATEGY = new TObjectHashingStrategy() { @Override @@ -158,7 +139,7 @@ public class FileReference implements FileReferenceOwner, PsiPolyVariantReferenc return new ResolveResult[] { new PsiElementResolveResult(getElement().getContainingFile())}; } final Collection contexts = getContexts(); - final Collection result = new THashSet(RESOLVE_RESULT_HASHING_STRATEGY); + final Collection result = new THashSet(); for (final PsiFileSystemItem context : contexts) { if (context != null) { innerResolveInContext(referenceText, context, result, caseSensitive);