angular-ui-router: UnsupportedOperationException when press cmd+d

follow-up: 7019abe
This commit is contained in:
Aleksey Pivovarov
2016-07-04 20:16:07 +03:00
parent d088af3662
commit 4aa24b4ea4
5 changed files with 11 additions and 4 deletions
@@ -51,7 +51,7 @@ abstract class BaseShowDiffAction extends AnAction implements DumbAware {
protected abstract boolean isAvailable(@NotNull AnActionEvent e);
protected static boolean hasContent(VirtualFile file) {
return ! (file instanceof VirtualFileWithoutContent);
return !(file instanceof VirtualFileWithoutContent);
}
@Nullable
@@ -72,7 +72,7 @@ public class CompareFileWithEditorAction extends BaseShowDiffAction {
}
private static boolean canCompare(@NotNull VirtualFile file1, @NotNull VirtualFile file2) {
return file1.isValid() && file2.isValid() && !file1.equals(file2) && hasContent(file1) && hasContent(file2);
return !file1.equals(file2) && hasContent(file1) && hasContent(file2);
}
@Nullable
@@ -106,7 +106,7 @@ public class CompareFilesAction extends BaseShowDiffAction {
if (data.length == 1) {
VirtualFile otherFile = getOtherFile(project, data[0]);
if (otherFile == null) return null;
if (!data[0].isValid()) return null;
if (!hasContent(data[0])) return null;
return DiffRequestFactory.getInstance().createFromFiles(project, data[0], otherFile);
}
else {
@@ -34,6 +34,7 @@ import com.intellij.openapi.util.Ref;
import com.intellij.openapi.util.io.FileUtil;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.openapi.vfs.VirtualFileWithoutContent;
import com.intellij.util.LineSeparator;
import com.intellij.util.PathUtil;
import com.intellij.util.TimeoutUtil;
@@ -56,7 +57,11 @@ public class ExternalDiffToolUtil {
public static boolean canCreateFile(@NotNull DiffContent content) {
if (content instanceof EmptyContent) return true;
if (content instanceof DocumentContent) return true;
if (content instanceof FileContent) return true;
if (content instanceof FileContent) {
VirtualFile file = ((FileContent)content).getFile();
if (file instanceof VirtualFileWithoutContent) return false;
return true;
}
if (content instanceof DirectoryContent) return ((DirectoryContent)content).getFile().isInLocalFileSystem();
return false;
}
@@ -34,6 +34,7 @@ import com.intellij.openapi.project.Project;
import com.intellij.openapi.project.ProjectManager;
import com.intellij.openapi.util.Disposer;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.openapi.vfs.VirtualFileWithoutContent;
import com.intellij.util.ui.UIUtil;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -130,6 +131,7 @@ public class BinaryEditorHolder extends EditorHolder {
if (project == null) project = ProjectManager.getInstance().getDefaultProject();
VirtualFile file = ((FileContent)content).getFile();
if (!file.isValid()) return false;
if (file instanceof VirtualFileWithoutContent) return false;
return FileEditorProviderManager.getInstance().getProviders(project, file).length != 0;
}
return false;