From c2b58ffbbf09cbfc9ee66f8a8c63293f0f332055 Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Fri, 16 Aug 2019 15:10:26 +0300 Subject: [PATCH] cleanup: simplify code since the VirtualFile.getId() is positive: replace if (id>0) with assertions GitOrigin-RevId: c9a0a328ff4e236718090bb3ea6bb31eaecd0043 --- .../util/indexing/ProjectFilesCondition.java | 3 +-- .../openapi/fileTypes/impl/IgnoredFileCache.java | 14 ++++++++------ .../vfs/newvfs/impl/VirtualDirectoryImpl.java | 11 ++++------- .../openapi/vfs/newvfs/persistent/FSRecords.java | 2 ++ .../vfs/newvfs/persistent/PersistentFSImpl.java | 7 ++----- 5 files changed, 17 insertions(+), 20 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/util/indexing/ProjectFilesCondition.java b/platform/lang-impl/src/com/intellij/util/indexing/ProjectFilesCondition.java index f3b9fd8758d5..211f14093237 100644 --- a/platform/lang-impl/src/com/intellij/util/indexing/ProjectFilesCondition.java +++ b/platform/lang-impl/src/com/intellij/util/indexing/ProjectFilesCondition.java @@ -49,8 +49,7 @@ class ProjectFilesCondition implements Condition { return true; } - if (fileId < 0 && file instanceof DeletedVirtualFileStub) { - //file = ((FileBasedIndexImpl.MyLightVirtualFile)file).getOriginalFile(); + if (file instanceof DeletedVirtualFileStub) { return true; } if (FileBasedIndexImpl.belongsToScope(file, myRestrictedTo, myFilter)) return true; diff --git a/platform/platform-impl/src/com/intellij/openapi/fileTypes/impl/IgnoredFileCache.java b/platform/platform-impl/src/com/intellij/openapi/fileTypes/impl/IgnoredFileCache.java index 33702d8b7ec8..a1b35c9a6e24 100644 --- a/platform/platform-impl/src/com/intellij/openapi/fileTypes/impl/IgnoredFileCache.java +++ b/platform/platform-impl/src/com/intellij/openapi/fileTypes/impl/IgnoredFileCache.java @@ -45,9 +45,7 @@ final class IgnoredFileCache { VirtualFile file = event.getFile(); if (file instanceof NewVirtualFile) { int id = ((NewVirtualFile)file).getId(); - if (id >= 0) { - myNonIgnoredIds.clear(id); - } + myNonIgnoredIds.clear(id); } } } @@ -60,13 +58,17 @@ final class IgnoredFileCache { } boolean isFileIgnored(@NotNull VirtualFile file) { - int id = myVfsEventNesting == 0 && file instanceof NewVirtualFile ? ((NewVirtualFile)file).getId() : -1; - if (id > 0 && myNonIgnoredIds.get(id)) { + boolean idable = myVfsEventNesting == 0 && file instanceof NewVirtualFile; + if (!idable) { + return myIgnoredPatterns.isIgnored(file.getNameSequence()); + } + int id = ((NewVirtualFile)file).getId(); + if (myNonIgnoredIds.get(id)) { return false; } boolean result = myIgnoredPatterns.isIgnored(file.getNameSequence()); - if (!result && id > 0) { + if (!result) { myNonIgnoredIds.set(id); } return result; diff --git a/platform/platform-impl/src/com/intellij/openapi/vfs/newvfs/impl/VirtualDirectoryImpl.java b/platform/platform-impl/src/com/intellij/openapi/vfs/newvfs/impl/VirtualDirectoryImpl.java index 7a568cbcdee0..4a0e62d8ac80 100644 --- a/platform/platform-impl/src/com/intellij/openapi/vfs/newvfs/impl/VirtualDirectoryImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/vfs/newvfs/impl/VirtualDirectoryImpl.java @@ -202,7 +202,6 @@ public class VirtualDirectoryImpl extends VirtualFileSystemEntry { @NotNull private VirtualFileSystemEntry[] getArraySafely() { - if (myId < 0) throw new InvalidVirtualFileAccessException(this); return myData.getFileChildren(this); } @@ -550,7 +549,7 @@ public class VirtualDirectoryImpl extends VirtualFileSystemEntry { private void insertChildAt(@NotNull VirtualFileSystemEntry file, int negativeIndex) { int i = -negativeIndex -1; int id = file.getId(); - assert id > 0 : file; + assert id > 0 : file +": "+id; myData.myChildrenIds = ArrayUtil.insert(myData.myChildrenIds, i, id); } @@ -618,11 +617,9 @@ public class VirtualDirectoryImpl extends VirtualFileSystemEntry { } int id = getId(); synchronized (myData) { - if (id >= 0) { - FSRecords.NameId[] persistentIds = FSRecords.listAll(id); - for (FSRecords.NameId nameId : persistentIds) { - existingNames.add(nameId.name); - } + FSRecords.NameId[] persistentIds = FSRecords.listAll(id); + for (FSRecords.NameId nameId : persistentIds) { + existingNames.add(nameId.name); } validateAgainst(childrenToCreate, existingNames); diff --git a/platform/platform-impl/src/com/intellij/openapi/vfs/newvfs/persistent/FSRecords.java b/platform/platform-impl/src/com/intellij/openapi/vfs/newvfs/persistent/FSRecords.java index 42f9635d07c7..a8237f0274d3 100644 --- a/platform/platform-impl/src/com/intellij/openapi/vfs/newvfs/persistent/FSRecords.java +++ b/platform/platform-impl/src/com/intellij/openapi/vfs/newvfs/persistent/FSRecords.java @@ -906,6 +906,7 @@ public class FSRecords { // returns NameId[] sorted by NameId.id @NotNull public static NameId[] listAll(int parentId) { + assert parentId > 0 : parentId; return readAndHandleErrors(() -> { try (final DataInputStream input = readAttribute(parentId, ourChildrenAttr)) { if (input == null) return NameId.EMPTY_ARRAY; @@ -973,6 +974,7 @@ public class FSRecords { } static void updateList(int id, @NotNull int[] childIds) { + assert id > 0 : id; Arrays.sort(childIds); writeAndHandleErrors(() -> { DbConnection.markDirty(); diff --git a/platform/platform-impl/src/com/intellij/openapi/vfs/newvfs/persistent/PersistentFSImpl.java b/platform/platform-impl/src/com/intellij/openapi/vfs/newvfs/persistent/PersistentFSImpl.java index 1e871055ac75..8f72cc145c7f 100644 --- a/platform/platform-impl/src/com/intellij/openapi/vfs/newvfs/persistent/PersistentFSImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/vfs/newvfs/persistent/PersistentFSImpl.java @@ -285,6 +285,7 @@ public final class PersistentFSImpl extends PersistentFS implements Disposable { @NotNull FileAttributes attributes, @Nullable String symlinkTarget) { assert id > 0 : id; + assert parentId >= 0 : parentId; // 0 means there's no parent if (name.length() != 0) { if (namesEqual(fs, name, FSRecords.getNameSequence(id))) return false; // TODO: Handle root attributes change. } @@ -334,11 +335,7 @@ public final class PersistentFSImpl extends PersistentFS implements Disposable { } private static int getFileId(@NotNull VirtualFile file) { - final int id = ((VirtualFileWithId)file).getId(); - if (id <= 0) { - throw new InvalidVirtualFileAccessException(file); - } - return id; + return ((VirtualFileWithId)file).getId(); } @Override