diff --git a/platform/platform-impl/src/com/intellij/openapi/vfs/newvfs/impl/VirtualFileSystemEntry.java b/platform/platform-impl/src/com/intellij/openapi/vfs/newvfs/impl/VirtualFileSystemEntry.java index e5a63f2fd33f..9f504ce2837a 100644 --- a/platform/platform-impl/src/com/intellij/openapi/vfs/newvfs/impl/VirtualFileSystemEntry.java +++ b/platform/platform-impl/src/com/intellij/openapi/vfs/newvfs/impl/VirtualFileSystemEntry.java @@ -64,6 +64,7 @@ public abstract class VirtualFileSystemEntry extends NewVirtualFile { private static final byte[][] WELL_KNOWN_SUFFIXES_BYTES; private static final int[] WELL_KNOWN_SUFFIXES_LENGTH; private static final int SUFFIX_BITS = 4; + private static final int FLAGS_FIELD_LENGTH = Short.SIZE; static { WELL_KNOWN_SUFFIXES_BYTES = new byte[WELL_KNOWN_SUFFIXES.length][]; WELL_KNOWN_SUFFIXES_LENGTH = new int[WELL_KNOWN_SUFFIXES.length]; @@ -97,12 +98,12 @@ public abstract class VirtualFileSystemEntry extends NewVirtualFile { } private void storeName(@NotNull String name) { - myFlags &= 0xffff >>> SUFFIX_BITS; + myFlags &= (1<>> SUFFIX_BITS; for (int i = 0; i < WELL_KNOWN_SUFFIXES.length; i++) { String suffix = WELL_KNOWN_SUFFIXES[i]; if (name.endsWith(suffix)) { name = StringUtil.trimEnd(name, suffix); - int mask = (i+1) << 16-SUFFIX_BITS; + int mask = (i+1) << (FLAGS_FIELD_LENGTH-SUFFIX_BITS); myFlags |= mask; break; } @@ -138,22 +139,26 @@ public abstract class VirtualFileSystemEntry extends NewVirtualFile { @NotNull private String getEncodedSuffix() { - int index = (myFlags >> 16-SUFFIX_BITS) & ((1<> 16-SUFFIX_BITS) & ((1<> 16-SUFFIX_BITS) & ((1<> FLAGS_FIELD_LENGTH - SUFFIX_BITS) & ((1 << SUFFIX_BITS) - 1); + } + @Override @NotNull public String getName() { diff --git a/platform/testFramework/src/com/intellij/testFramework/fixtures/impl/LightIdeaTestFixtureImpl.java b/platform/testFramework/src/com/intellij/testFramework/fixtures/impl/LightIdeaTestFixtureImpl.java index 046ebf59e1f6..3d2b1010dfd7 100644 --- a/platform/testFramework/src/com/intellij/testFramework/fixtures/impl/LightIdeaTestFixtureImpl.java +++ b/platform/testFramework/src/com/intellij/testFramework/fixtures/impl/LightIdeaTestFixtureImpl.java @@ -23,6 +23,7 @@ import com.intellij.openapi.module.Module; import com.intellij.openapi.project.Project; import com.intellij.openapi.roots.impl.DirectoryIndex; import com.intellij.openapi.roots.impl.DirectoryIndexImpl; +import com.intellij.openapi.vfs.newvfs.persistent.PersistentFS; import com.intellij.psi.codeStyle.CodeStyleSchemes; import com.intellij.psi.codeStyle.CodeStyleSettings; import com.intellij.psi.codeStyle.CodeStyleSettingsManager; @@ -63,7 +64,8 @@ class LightIdeaTestFixtureImpl extends BaseFixture implements LightIdeaTestFixtu LightPlatformTestCase.doTearDown(project, LightPlatformTestCase.getApplication(), true); super.tearDown(); InjectedLanguageManagerImpl.checkInjectorsAreDisposed(project); - ((DirectoryIndexImpl)DirectoryIndex.getInstance(project)).assertAncestorConsistent(); + PersistentFS.getInstance().clearIdCache(); + ((DirectoryIndexImpl)DirectoryIndex.getInstance(project)).assertAncestorConsistent(); }