review quirks followup

This commit is contained in:
Alexey Kudravtsev
2013-02-19 14:21:09 +04:00
parent 94ca434a7d
commit f6795f26e0
2 changed files with 13 additions and 6 deletions
@@ -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<<FLAGS_FIELD_LENGTH)-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<<SUFFIX_BITS)-1);
int index = getSuffixIndex();
if (index == 0) return EMPTY;
return WELL_KNOWN_SUFFIXES[index-1];
}
@NotNull
private byte[] getEncodedSuffixBytes() {
int index = (myFlags >> 16-SUFFIX_BITS) & ((1<<SUFFIX_BITS)-1);
int index = getSuffixIndex();
if (index == 0) return ArrayUtil.EMPTY_BYTE_ARRAY;
return WELL_KNOWN_SUFFIXES_BYTES[index-1];
}
private int getEncodedSuffixLength() {
int index = (myFlags >> 16-SUFFIX_BITS) & ((1<<SUFFIX_BITS)-1);
int index = getSuffixIndex();
if (index == 0) return 0;
return WELL_KNOWN_SUFFIXES_LENGTH[index-1];
}
private int getSuffixIndex() {
return (myFlags >> FLAGS_FIELD_LENGTH - SUFFIX_BITS) & ((1 << SUFFIX_BITS) - 1);
}
@Override
@NotNull
public String getName() {
@@ -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();
}