Merge remote-tracking branch 'origin/master'

This commit is contained in:
anna
2013-04-11 13:25:04 +02:00
2 changed files with 26 additions and 6 deletions
@@ -210,17 +210,22 @@ public class EncodingProjectManagerImpl extends EncodingProjectManager {
@Override
public void setEncoding(@Nullable final VirtualFile virtualFileOrDir, @Nullable final Charset charset) {
Charset oldCharset;
if (charset == null) {
myMapping.remove(virtualFileOrDir);
oldCharset = myMapping.remove(virtualFileOrDir);
}
else {
myMapping.put(virtualFileOrDir, charset);
oldCharset = myMapping.put(virtualFileOrDir, charset);
}
myModificationCount++;
if (virtualFileOrDir != null) {
virtualFileOrDir.setCharset(virtualFileOrDir.getBOM() == null ? charset : null);
if (!Comparing.equal(oldCharset, charset)) {
myModificationCount++;
if (virtualFileOrDir != null) {
virtualFileOrDir.setCharset(virtualFileOrDir.getBOM() == null ? charset : null);
}
reloadAllFilesUnder(virtualFileOrDir);
}
reloadAllFilesUnder(virtualFileOrDir);
}
private static void clearAndReload(@NotNull VirtualFile virtualFileOrDir) {
@@ -685,6 +685,21 @@ public class ArrayUtil extends ArrayUtilRt {
return indexOf(objects, o) >= 0;
}
public static boolean contains(@Nullable final String s, final String... strings) {
if (s == null) {
for (String str : strings) {
if (str == null) return true;
}
}
else {
for (String str : strings) {
if (s.equals(str)) return true;
}
}
return false;
}
@NotNull
public static int[] newIntArray(int count) {
return count == 0 ? EMPTY_INT_ARRAY : new int[count];