diff --git a/platform/editor-ui-api/src/com/intellij/openapi/fileEditor/FileEditor.java b/platform/editor-ui-api/src/com/intellij/openapi/fileEditor/FileEditor.java index 3c31bd75c3fe..0c4e790525ac 100644 --- a/platform/editor-ui-api/src/com/intellij/openapi/fileEditor/FileEditor.java +++ b/platform/editor-ui-api/src/com/intellij/openapi/fileEditor/FileEditor.java @@ -29,6 +29,8 @@ public interface FileEditor extends UserDataHolder, Disposable { */ @NonNls String PROP_VALID = "valid"; + FileEditor[] EMPTY_ARRAY = {}; + /** * @return component which represents editor in the UI. * The method should never return {@code null}. diff --git a/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/PassExecutorService.java b/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/PassExecutorService.java index 6b6b440bb2cb..e8593e60d4b7 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/PassExecutorService.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/PassExecutorService.java @@ -262,7 +262,7 @@ final class PassExecutorService implements Disposable { pass.applyInformationToEditor(); if (document != null) { VirtualFile file = FileDocumentManager.getInstance().getFile(document); - FileEditor[] editors = file == null ? new FileEditor[0] : FileEditorManager.getInstance(myProject).getEditors(file); + FileEditor[] editors = file == null ? FileEditor.EMPTY_ARRAY : FileEditorManager.getInstance(myProject).getEditors(file); for (FileEditor editor : editors) { repaintErrorStripeAndIcon(editor); } diff --git a/platform/lang-impl/src/com/intellij/openapi/fileEditor/impl/TestEditorManagerImpl.java b/platform/lang-impl/src/com/intellij/openapi/fileEditor/impl/TestEditorManagerImpl.java index 267141133cac..13ca414fee32 100644 --- a/platform/lang-impl/src/com/intellij/openapi/fileEditor/impl/TestEditorManagerImpl.java +++ b/platform/lang-impl/src/com/intellij/openapi/fileEditor/impl/TestEditorManagerImpl.java @@ -346,7 +346,7 @@ final class TestEditorManagerImpl extends FileEditorManagerEx implements Disposa @Override public FileEditor @NotNull [] getEditors(@NotNull VirtualFile file) { FileEditor e = getSelectedEditor(file); - if (e == null) return new FileEditor[0]; + if (e == null) return FileEditor.EMPTY_ARRAY; return new FileEditor[] {e}; } @@ -395,7 +395,7 @@ final class TestEditorManagerImpl extends FileEditorManagerEx implements Disposa @Override public FileEditor @NotNull [] getSelectedEditors() { - return myActiveFile == null ? new FileEditor[0] : getEditors(myActiveFile); + return myActiveFile == null ? FileEditor.EMPTY_ARRAY : getEditors(myActiveFile); } @Override @@ -504,7 +504,7 @@ final class TestEditorManagerImpl extends FileEditorManagerEx implements Disposa public Pair getEditorsWithProviders(@NotNull VirtualFile file) { Pair editorAndProvider = myTestEditorSplitter.getEditorAndProvider(file); - FileEditor[] fileEditor = new FileEditor[0]; + FileEditor[] fileEditor = FileEditor.EMPTY_ARRAY; FileEditorProvider[] fileEditorProvider= new FileEditorProvider[0]; if (editorAndProvider != null) { fileEditor = new FileEditor[] {editorAndProvider.first}; diff --git a/platform/platform-impl/src/com/intellij/ide/lightEdit/project/LightEditFileEditorManagerImpl.java b/platform/platform-impl/src/com/intellij/ide/lightEdit/project/LightEditFileEditorManagerImpl.java index 439662767843..b8599f301c9f 100644 --- a/platform/platform-impl/src/com/intellij/ide/lightEdit/project/LightEditFileEditorManagerImpl.java +++ b/platform/platform-impl/src/com/intellij/ide/lightEdit/project/LightEditFileEditorManagerImpl.java @@ -51,7 +51,7 @@ final class LightEditFileEditorManagerImpl extends FileEditorManagerImpl { FileEditorWithProvider data = getSelectedEditorWithProvider(file); return data != null ? Pair.create(new FileEditor[]{data.getFileEditor()}, new FileEditorProvider[]{data.getProvider()}) - : Pair.create(new FileEditor[0], new FileEditorProvider[0]); + : Pair.create(FileEditor.EMPTY_ARRAY, new FileEditorProvider[0]); } @Override diff --git a/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/EditorsSplitters.java b/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/EditorsSplitters.java index bc6ea49aecd4..e4c44b365a21 100644 --- a/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/EditorsSplitters.java +++ b/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/EditorsSplitters.java @@ -367,7 +367,7 @@ public class EditorsSplitters extends IdePanePanel implements UISettingsListener editors.add(composite.getSelectedEditor()); } } - return editors.toArray(new FileEditor[0]); + return editors.toArray(FileEditor.EMPTY_ARRAY); } public void updateFileIcon(@NotNull VirtualFile file) { diff --git a/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/FileEditorManagerImpl.java b/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/FileEditorManagerImpl.java index 9a9cfd4bf00c..90e8071a960f 100644 --- a/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/FileEditorManagerImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/FileEditorManagerImpl.java @@ -107,7 +107,6 @@ public class FileEditorManagerImpl extends FileEditorManagerEx implements Persis private static final Logger LOG = Logger.getInstance(FileEditorManagerImpl.class); private static final Key DUMB_AWARE = Key.create("DUMB_AWARE"); - private static final FileEditor[] EMPTY_EDITOR_ARRAY = {}; private static final FileEditorProvider[] EMPTY_PROVIDER_ARRAY = {}; public static final Key CLOSING_TO_REOPEN = Key.create("CLOSING_TO_REOPEN"); public static final String FILE_EDITOR_MANAGER = "FileEditorManager"; @@ -752,7 +751,7 @@ public class FileEditorManagerImpl extends FileEditorManagerEx implements Persis // and select the created EditorComposite. newProviders = FileEditorProviderManager.getInstance().getProviders(myProject, file); if (newProviders.length == 0) { - return Pair.createNonNull(EMPTY_EDITOR_ARRAY, EMPTY_PROVIDER_ARRAY); + return Pair.createNonNull(FileEditor.EMPTY_ARRAY, EMPTY_PROVIDER_ARRAY); } builders = new AsyncFileEditorProvider.Builder[newProviders.length]; @@ -786,7 +785,7 @@ public class FileEditorManagerImpl extends FileEditorManagerEx implements Persis openFileImpl4Edt(window, file, entry, options, compositeRef, newProviders, builders))); EditorWithProviderComposite composite = compositeRef.get(); - return Pair.createNonNull(composite == null ? EMPTY_EDITOR_ARRAY : composite.getEditors(), + return Pair.createNonNull(composite == null ? FileEditor.EMPTY_ARRAY : composite.getEditors(), composite == null ? EMPTY_PROVIDER_ARRAY : composite.getProviders()); } @@ -936,7 +935,7 @@ public class FileEditorManagerImpl extends FileEditorManagerEx implements Persis } } if (editorList.isEmpty()) return null; - editors = editorList.toArray(new FileEditor[0]); + editors = editorList.toArray(FileEditor.EMPTY_ARRAY); providers = providerList.toArray(new FileEditorProvider[0]); } return new EditorWithProviderComposite(file, editors, providers, this); @@ -1235,7 +1234,7 @@ public class FileEditorManagerImpl extends FileEditorManagerEx implements Persis for (EditorsSplitters splitters : getAllSplitters()) { splitters.addSelectedEditorsTo(selectedEditors); } - return selectedEditors.toArray(EMPTY_EDITOR_ARRAY); + return selectedEditors.toArray(FileEditor.EMPTY_ARRAY); } @Override @@ -1293,7 +1292,7 @@ public class FileEditorManagerImpl extends FileEditorManagerEx implements Persis if (!composites.isEmpty()) { return Pair.create(composites.get(0).getEditors(), composites.get(0).getProviders()); } - return Pair.create(EMPTY_EDITOR_ARRAY, EMPTY_PROVIDER_ARRAY); + return Pair.create(FileEditor.EMPTY_ARRAY, EMPTY_PROVIDER_ARRAY); } @Override @@ -1311,7 +1310,7 @@ public class FileEditorManagerImpl extends FileEditorManagerEx implements Persis if (!composites.isEmpty()) { return composites.get(0).getEditors(); } - return EMPTY_EDITOR_ARRAY; + return FileEditor.EMPTY_ARRAY; } @Override @@ -1320,7 +1319,7 @@ public class FileEditorManagerImpl extends FileEditorManagerEx implements Persis myOpenedEditors.forEach(composite -> { if (composite.getFile().equals(file)) ContainerUtil.addAll(result, composite.myEditors); }); - return result.toArray(new FileEditor[0]); + return result.toArray(FileEditor.EMPTY_ARRAY); } @Nullable @@ -1346,7 +1345,7 @@ public class FileEditorManagerImpl extends FileEditorManagerEx implements Persis public FileEditor @NotNull [] getAllEditors() { List result = new ArrayList<>(); myOpenedEditors.forEach(composite -> ContainerUtil.addAll(result, composite.myEditors)); - return result.toArray(new FileEditor[0]); + return result.toArray(FileEditor.EMPTY_ARRAY); } diff --git a/platform/testFramework/src/com/intellij/mock/Mock.java b/platform/testFramework/src/com/intellij/mock/Mock.java index 045a17d17b33..dca61677ca92 100644 --- a/platform/testFramework/src/com/intellij/mock/Mock.java +++ b/platform/testFramework/src/com/intellij/mock/Mock.java @@ -296,7 +296,7 @@ public class Mock { public Pair openFileWithProviders(@NotNull VirtualFile file, boolean focusEditor, boolean searchForSplitter) { - return Pair.create(new FileEditor[0], new FileEditorProvider[0]); + return Pair.create(FileEditor.EMPTY_ARRAY, new FileEditorProvider[0]); } @Override @@ -334,7 +334,7 @@ public class Mock { @Override public FileEditor @NotNull [] getSelectedEditors() { - return new FileEditor[0]; + return FileEditor.EMPTY_ARRAY; } @Override @@ -344,17 +344,17 @@ public class Mock { @Override public FileEditor @NotNull [] getEditors(@NotNull VirtualFile file) { - return new FileEditor[0]; + return FileEditor.EMPTY_ARRAY; } @Override public FileEditor @NotNull [] getAllEditors(@NotNull VirtualFile file) { - return new FileEditor[0]; + return FileEditor.EMPTY_ARRAY; } @Override public FileEditor @NotNull [] getAllEditors() { - return new FileEditor[0]; + return FileEditor.EMPTY_ARRAY; } @Override