do not use virtual file's ids

GitOrigin-RevId: 746325d3249162fb5a4b58ffd9429833b51a2c98
This commit is contained in:
Dmitry Batkovich
2021-07-30 14:29:52 +00:00
committed by intellij-monorepo-bot
parent 6262cd5140
commit 3268d3160a
@@ -29,10 +29,7 @@ import com.intellij.openapi.util.NullableFactory;
import com.intellij.openapi.util.Segment;
import com.intellij.openapi.util.registry.Registry;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.openapi.vfs.VfsUtilCore;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.openapi.vfs.VirtualFileManager;
import com.intellij.openapi.vfs.VirtualFileWithId;
import com.intellij.openapi.vfs.*;
import com.intellij.psi.*;
import com.intellij.psi.impl.light.LightElement;
import com.intellij.psi.util.PsiUtilCore;
@@ -61,7 +58,7 @@ public class RefManagerImpl extends RefManager {
private AnalysisScope myScope;
private RefProject myRefProject;
private final BitSet myUnprocessedFiles = new BitSet();
private final Set<VirtualFile> myUnprocessedFiles = VfsUtilCore.createCompactVirtualFileSet();
private final boolean processExternalElements = Registry.is("batch.inspections.process.external.elements");
private final ConcurrentMap<PsiAnchor, RefElement> myRefTable = new ConcurrentHashMap<>();
@@ -399,7 +396,7 @@ public class RefManagerImpl extends RefManager {
@Override
public synchronized boolean isInGraph(VirtualFile file) {
return !myUnprocessedFiles.get(((VirtualFileWithId)file).getId());
return !myUnprocessedFiles.contains(file);
}
@Override
@@ -410,8 +407,8 @@ public class RefManagerImpl extends RefManager {
return extension.getElementContainer(element);
}
private synchronized void registerUnprocessed(VirtualFileWithId virtualFile) {
myUnprocessedFiles.set(virtualFile.getId());
private synchronized void registerUnprocessed(VirtualFile virtualFile) {
myUnprocessedFiles.add(virtualFile);
}
void removeReference(@NotNull RefElement refElem) {
@@ -463,7 +460,7 @@ public class RefManagerImpl extends RefManager {
if (element instanceof PsiFile) {
VirtualFile virtualFile = PsiUtilCore.getVirtualFile(element);
if (virtualFile instanceof VirtualFileWithId) {
registerUnprocessed((VirtualFileWithId)virtualFile);
registerUnprocessed(virtualFile);
}
}
} else {