From b56b91a00750d4059953aef29060805387dadcf4 Mon Sep 17 00:00:00 2001 From: "Maxim.Kolmakov" Date: Mon, 3 Dec 2018 15:14:24 +0100 Subject: [PATCH] Fix looping over BitSet bs.nextSetBit returns the index of the first bit that is set to true that occurs *on* or after the specified starting index. So +1 should be used. --- .../src/com/intellij/openapi/vfs/CompactVirtualFileSet.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/core-api/src/com/intellij/openapi/vfs/CompactVirtualFileSet.java b/platform/core-api/src/com/intellij/openapi/vfs/CompactVirtualFileSet.java index f478732cd358..558e685d18a6 100644 --- a/platform/core-api/src/com/intellij/openapi/vfs/CompactVirtualFileSet.java +++ b/platform/core-api/src/com/intellij/openapi/vfs/CompactVirtualFileSet.java @@ -116,7 +116,7 @@ public class CompactVirtualFileSet extends AbstractSet { VirtualFileManager virtualFileManager = VirtualFileManager.getInstance(); BitSet ids = fileIds; if (ids != null) { - for (int id = ids.nextSetBit(0); id < ids.size(); id = ids.nextSetBit(id)) { + for (int id = ids.nextSetBit(0); id < ids.size(); id = ids.nextSetBit(id + 1)) { if (id < 0) break; VirtualFile file = virtualFileManager.findFileById(id); if (file != null && !processor.process(file)) return false;