cleanup
authorVladimir Krivosheev <vladimir.krivosheev@jetbrains.com>
Mon, 4 May 2020 09:13:55 +0000 (11:13 +0200)
committerintellij-monorepo-bot <intellij-monorepo-bot-no-reply@jetbrains.com>
Wed, 6 May 2020 09:45:40 +0000 (09:45 +0000)
GitOrigin-RevId: 09e062d39c060ca8996abd9b6bfaab58d39c7d96

37 files changed:
java/compiler/impl/src/com/intellij/compiler/backwardRefs/DirtyScopeHolder.java
java/debugger/impl/src/com/intellij/debugger/impl/AlternativeJreClassFinder.java
java/java-impl/src/com/intellij/codeInsight/daemon/problems/pass/ProjectProblemFileSelectionListener.java
java/testFramework/src/com/intellij/codeInsight/JavaCodeInsightTestCase.java
platform/core-api/src/com/intellij/openapi/project/DumbService.java
platform/core-api/src/com/intellij/openapi/roots/FileIndexFacade.java
platform/core-impl/src/com/intellij/psi/impl/PsiManagerImpl.java
platform/editor-ui-api/src/com/intellij/openapi/editor/EditorActivityManager.java
platform/external-system-impl/src/com/intellij/openapi/externalSystem/autoimport/AutoImportProjectTracker.kt
platform/lang-api/src/com/intellij/facet/FacetManager.java
platform/lang-api/src/com/intellij/facet/FacetManagerListener.java
platform/lang-api/src/com/intellij/facet/ProjectWideFacetListenersRegistry.java
platform/lang-impl/src/com/intellij/codeInsight/completion/ActionTracker.java
platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/ErrorStripeUpdateManager.java
platform/lang-impl/src/com/intellij/codeInsight/lookup/impl/LookupManagerImpl.java
platform/lang-impl/src/com/intellij/openapi/roots/impl/libraries/LibraryKindLoader.java
platform/lang-impl/src/com/intellij/util/indexing/FileBasedIndexPluginListener.java
platform/lang-impl/src/com/intellij/util/indexing/FileBasedIndexSwitcher.java
platform/platform-api/src/com/intellij/openapi/fileEditor/FileDocumentManagerListener.java
platform/platform-api/src/com/intellij/openapi/fileEditor/FileEditorManager.java
platform/platform-api/src/com/intellij/openapi/fileEditor/FileEditorManagerListener.java
platform/platform-impl/src/com/intellij/openapi/fileEditor/ex/FileEditorManagerEx.java
platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/EditorHistoryManager.java
platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/FileEditorManagerImpl.java
platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/text/EditorHighlighterUpdater.java
platform/platform-impl/src/com/intellij/openapi/vfs/DiskQueryRelay.java
platform/platform-tests/testSrc/com/intellij/openapi/fileEditor/FileEditorManagerTest.java
platform/projectModel-api/src/com/intellij/openapi/project/ProjectManager.java
platform/projectModel-api/src/com/intellij/openapi/projectRoots/ProjectJdkTable.java
platform/util-rt/src/com/intellij/openapi/util/Pair.java
platform/util/concurrency/com/intellij/util/concurrency/NonUrgentExecutor.java
platform/util/src/com/intellij/util/EventDispatcher.java
platform/util/src/com/intellij/util/concurrency/AtomicFieldUpdater.java
plugins/editorconfig/src/org/editorconfig/settings/EditorConfigSettings.java
plugins/gradle/src/org/jetbrains/plugins/gradle/settings/GradleSettings.java
plugins/hg4idea/src/org/zmlx/hg4idea/status/ui/HgIncomingOutgoingWidget.java
python/python-psi-impl/src/com/jetbrains/python/psi/resolve/PythonSdkPathCache.java

index 1f8360a13f1be580ec88b3d540f54f4349afa60e..d78c2a48716bae527353aba6a7d08a3276c43c9f 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
+// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
 package com.intellij.compiler.backwardRefs;
 
 import com.intellij.ProjectTopics;
 package com.intellij.compiler.backwardRefs;
 
 import com.intellij.ProjectTopics;
@@ -71,7 +71,7 @@ public class DirtyScopeHolder extends UserDataHolderBase implements AsyncFileLis
     myPsiDocManager = psiDocumentManager;
 
     if (CompilerReferenceService.isEnabled()) {
     myPsiDocManager = psiDocumentManager;
 
     if (CompilerReferenceService.isEnabled()) {
-      final MessageBusConnection connect = service.getProject().getMessageBus().connect();
+      MessageBusConnection connect = service.getProject().getMessageBus().connect();
       connect.subscribe(ExcludedEntriesListener.TOPIC, new ExcludedEntriesListener() {
         @Override
         public void onEntryAdded(@NotNull ExcludeEntryDescription description) {
       connect.subscribe(ExcludedEntriesListener.TOPIC, new ExcludedEntriesListener() {
         @Override
         public void onEntryAdded(@NotNull ExcludeEntryDescription description) {
index cb9c1df8aa0816d0ca625ba4f387916c09f111ef..7bd509e22688c2845e439acfd60e34dbb8d96f62 100644 (file)
@@ -21,7 +21,7 @@ import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
 
 import java.util.Collections;
 import java.util.List;
 
-public class AlternativeJreClassFinder extends NonClasspathClassFinder {
+public final class AlternativeJreClassFinder extends NonClasspathClassFinder {
   public AlternativeJreClassFinder(Project project) {
     super(project);
 
   public AlternativeJreClassFinder(Project project) {
     super(project);
 
index 74d91b476cb2c92a910b0ac53863d426329b4199..3058582083b563b56c5f39c06efb8c76131cab28 100644 (file)
@@ -4,13 +4,11 @@ package com.intellij.codeInsight.daemon.problems.pass;
 import com.intellij.codeInsight.daemon.problems.FileStateUpdater;
 import com.intellij.codeInsight.hints.InlayHintsSettings;
 import com.intellij.injected.editor.VirtualFileWindow;
 import com.intellij.codeInsight.daemon.problems.FileStateUpdater;
 import com.intellij.codeInsight.hints.InlayHintsSettings;
 import com.intellij.injected.editor.VirtualFileWindow;
-import com.intellij.openapi.application.ApplicationManager;
 import com.intellij.openapi.fileEditor.*;
 import com.intellij.openapi.project.Project;
 import com.intellij.openapi.roots.ProjectFileIndex;
 import com.intellij.openapi.roots.ProjectRootManager;
 import com.intellij.openapi.startup.StartupActivity;
 import com.intellij.openapi.fileEditor.*;
 import com.intellij.openapi.project.Project;
 import com.intellij.openapi.roots.ProjectFileIndex;
 import com.intellij.openapi.roots.ProjectRootManager;
 import com.intellij.openapi.startup.StartupActivity;
-import com.intellij.openapi.util.registry.Registry;
 import com.intellij.openapi.vfs.VirtualFile;
 import com.intellij.openapi.vfs.VirtualFileManager;
 import com.intellij.openapi.vfs.newvfs.BulkFileListener;
 import com.intellij.openapi.vfs.VirtualFile;
 import com.intellij.openapi.vfs.VirtualFileManager;
 import com.intellij.openapi.vfs.newvfs.BulkFileListener;
@@ -27,8 +25,7 @@ import java.util.List;
 import static com.intellij.codeInsight.daemon.problems.pass.ProjectProblemInlaySettingsProvider.hintsEnabled;
 import static com.intellij.util.ObjectUtils.tryCast;
 
 import static com.intellij.codeInsight.daemon.problems.pass.ProjectProblemInlaySettingsProvider.hintsEnabled;
 import static com.intellij.util.ObjectUtils.tryCast;
 
-class ProjectProblemFileSelectionListener implements FileEditorManagerListener, InlayHintsSettings.SettingsListener, BulkFileListener {
-
+final class ProjectProblemFileSelectionListener implements FileEditorManagerListener, InlayHintsSettings.SettingsListener, BulkFileListener {
   private final Project myProject;
 
   private ProjectProblemFileSelectionListener(Project project) {
   private final Project myProject;
 
   private ProjectProblemFileSelectionListener(Project project) {
index 5ae24d8d1286eb3d9fcd6e56ad263c2cad3a4ca5..f43b0726a9a4f88fd965e59fbef6ad8dc3020d75 100644 (file)
@@ -86,9 +86,8 @@ public abstract class JavaCodeInsightTestCase extends JavaPsiTestCase {
     }
   }
 
     }
   }
 
-  @NotNull
   @Override
   @Override
-  protected PsiTestData createData() {
+  protected @NotNull PsiTestData createData() {
     return new CodeInsightTestData();
   }
 
     return new CodeInsightTestData();
   }
 
@@ -126,11 +125,11 @@ public abstract class JavaCodeInsightTestCase extends JavaPsiTestCase {
     return configureByFile(vFile, projectFile);
   }
 
     return configureByFile(vFile, projectFile);
   }
 
-  protected PsiFile configureByText(@NotNull FileType fileType, @NotNull final String text) {
+  protected PsiFile configureByText(@NotNull FileType fileType, @NotNull String text) {
     return configureByText(fileType, text, null);
   }
 
     return configureByText(fileType, text, null);
   }
 
-  protected PsiFile configureByText(@NotNull final FileType fileType, @NotNull final String text, @Nullable String _extension) {
+  protected PsiFile configureByText(final @NotNull FileType fileType, @NotNull String text, @Nullable String _extension) {
     try {
       final String extension = _extension == null ? fileType.getDefaultExtension() : _extension;
 
     try {
       final String extension = _extension == null ? fileType.getDefaultExtension() : _extension;
 
@@ -166,7 +165,7 @@ public abstract class JavaCodeInsightTestCase extends JavaPsiTestCase {
     configureByFile(vFile, null);
   }
 
     configureByFile(vFile, null);
   }
 
-  protected void configureByExistingFile(@NotNull final VirtualFile virtualFile) {
+  protected void configureByExistingFile(final @NotNull VirtualFile virtualFile) {
     myFile = null;
     myEditor = null;
 
     myFile = null;
     myEditor = null;
 
@@ -193,11 +192,11 @@ public abstract class JavaCodeInsightTestCase extends JavaPsiTestCase {
     PsiDocumentManager.getInstance(getProject()).commitAllDocuments();
   }
 
     PsiDocumentManager.getInstance(getProject()).commitAllDocuments();
   }
 
-  public VirtualFile doConfigureByFiles(@Nullable final File rawProjectRoot, final VirtualFile @NotNull ... vFiles) throws IOException {
+  public VirtualFile doConfigureByFiles(final @Nullable File rawProjectRoot, final VirtualFile @NotNull ... vFiles) throws IOException {
     return configureByFiles(rawProjectRoot, vFiles);
   }
 
     return configureByFiles(rawProjectRoot, vFiles);
   }
 
-  protected VirtualFile configureByFiles(@Nullable final File rawProjectRoot, final VirtualFile @NotNull ... vFiles) throws IOException {
+  protected VirtualFile configureByFiles(final @Nullable File rawProjectRoot, final VirtualFile @NotNull ... vFiles) throws IOException {
     myFile = null;
     myEditor = null;
 
     myFile = null;
     myEditor = null;
 
@@ -268,18 +267,16 @@ public abstract class JavaCodeInsightTestCase extends JavaPsiTestCase {
   protected void sourceRootAdded(final VirtualFile dir) {
   }
 
   protected void sourceRootAdded(final VirtualFile dir) {
   }
 
-  @NotNull
-  protected Map<VirtualFile, EditorInfo> copyFilesFillingEditorInfos(@NotNull String testDataFromDir,
-                                                                     @NotNull VirtualFile toDir,
-                                                                     String @NotNull ... relativePaths) throws IOException {
+  protected @NotNull Map<VirtualFile, EditorInfo> copyFilesFillingEditorInfos(@NotNull String testDataFromDir,
+                                                                              @NotNull VirtualFile toDir,
+                                                                              String @NotNull ... relativePaths) throws IOException {
     if (!testDataFromDir.startsWith("/")) testDataFromDir = "/" + testDataFromDir;
     return copyFilesFillingEditorInfos(LocalFileSystem.getInstance().refreshAndFindFileByPath(getTestDataPath() + testDataFromDir), toDir, relativePaths);
   }
 
     if (!testDataFromDir.startsWith("/")) testDataFromDir = "/" + testDataFromDir;
     return copyFilesFillingEditorInfos(LocalFileSystem.getInstance().refreshAndFindFileByPath(getTestDataPath() + testDataFromDir), toDir, relativePaths);
   }
 
-  @NotNull
-  protected Map<VirtualFile, EditorInfo> copyFilesFillingEditorInfos(@NotNull VirtualFile fromDir,
-                                                                     @NotNull VirtualFile toDir,
-                                                                     String @NotNull ... relativePaths) throws IOException {
+  protected @NotNull Map<VirtualFile, EditorInfo> copyFilesFillingEditorInfos(@NotNull VirtualFile fromDir,
+                                                                              @NotNull VirtualFile toDir,
+                                                                              String @NotNull ... relativePaths) throws IOException {
     Map<VirtualFile, EditorInfo> editorInfos = new LinkedHashMap<>();
 
     List<OutputStream> streamsToClose = new ArrayList<>();
     Map<VirtualFile, EditorInfo> editorInfos = new LinkedHashMap<>();
 
     List<OutputStream> streamsToClose = new ArrayList<>();
@@ -320,15 +317,13 @@ public abstract class JavaCodeInsightTestCase extends JavaPsiTestCase {
     myFile = getPsiFile(editor.getDocument());
   }
 
     myFile = getPsiFile(editor.getDocument());
   }
 
-  @NotNull
-  protected List<Editor> openEditorsAndActivateLast(@NotNull Map<VirtualFile, EditorInfo> editorInfos) {
+  protected @NotNull List<Editor> openEditorsAndActivateLast(@NotNull Map<VirtualFile, EditorInfo> editorInfos) {
     final List<Editor> list = openEditors(editorInfos);
     setActiveEditor(list.get(list.size() - 1));
     return list;
   }
 
     final List<Editor> list = openEditors(editorInfos);
     setActiveEditor(list.get(list.size() - 1));
     return list;
   }
 
-  @NotNull
-  protected final List<Editor> openEditors(@NotNull final Map<VirtualFile, EditorInfo> editorInfos) {
+  protected final @NotNull List<Editor> openEditors(@NotNull Map<VirtualFile, EditorInfo> editorInfos) {
     return ContainerUtil.map(editorInfos.keySet(), newVFile -> {
       PsiFile file = myPsiManager.findFile(newVFile);
       if (myFile == null) myFile = file;
     return ContainerUtil.map(editorInfos.keySet(), newVFile -> {
       PsiFile file = myPsiManager.findFile(newVFile);
       if (myFile == null) myFile = file;
@@ -374,7 +369,7 @@ public abstract class JavaCodeInsightTestCase extends JavaPsiTestCase {
     return false;
   }
 
     return false;
   }
 
-  protected void setupCursorAndSelection(@NotNull final Editor editor) {
+  protected void setupCursorAndSelection(final @NotNull Editor editor) {
     Document document = editor.getDocument();
     EditorTestUtil.CaretAndSelectionState caretState = EditorTestUtil.extractCaretAndSelectionMarkers(document);
     EditorTestUtil.setCaretsAndSelection(editor, caretState);
     Document document = editor.getDocument();
     EditorTestUtil.CaretAndSelectionState caretState = EditorTestUtil.extractCaretAndSelectionMarkers(document);
     EditorTestUtil.setCaretsAndSelection(editor, caretState);
@@ -407,7 +402,7 @@ public abstract class JavaCodeInsightTestCase extends JavaPsiTestCase {
     checkResultByFile(filePath, false);
   }
 
     checkResultByFile(filePath, false);
   }
 
-  protected void checkResultByFile(@NotNull final String filePath, final boolean stripTrailingSpaces) throws Exception {
+  protected void checkResultByFile(final @NotNull String filePath, final boolean stripTrailingSpaces) throws Exception {
     WriteCommandAction.writeCommandAction(getProject()).run(() -> {
       PostprocessReformattingAspect.getInstance(getProject()).doPostponedFormatting();
       if (stripTrailingSpaces) {
     WriteCommandAction.writeCommandAction(getProject()).run(() -> {
       PostprocessReformattingAspect.getInstance(getProject()).doPostponedFormatting();
       if (stripTrailingSpaces) {
@@ -487,20 +482,17 @@ public abstract class JavaCodeInsightTestCase extends JavaPsiTestCase {
     }
   }
 
     }
   }
 
-  @NotNull
-  protected VirtualFile getVirtualFile(@NotNull String filePath) {
+  protected @NotNull VirtualFile getVirtualFile(@NotNull String filePath) {
     return findVirtualFile(filePath);
   }
 
     return findVirtualFile(filePath);
   }
 
-  @NotNull
-  protected VirtualFile findVirtualFile(@NotNull String filePath) {
+  protected @NotNull VirtualFile findVirtualFile(@NotNull String filePath) {
     String absolutePath = getTestDataPath() + filePath;
     VfsRootAccess.allowRootAccess(getTestRootDisposable(), absolutePath);
     return VfsTestUtil.findFileByCaseSensitivePath(absolutePath);
   }
 
     String absolutePath = getTestDataPath() + filePath;
     VfsRootAccess.allowRootAccess(getTestRootDisposable(), absolutePath);
     return VfsTestUtil.findFileByCaseSensitivePath(absolutePath);
   }
 
-  @NotNull
-  protected String getTestRoot(){
+  protected @NotNull String getTestRoot(){
     return FileUtil.toSystemIndependentName(getTestDataPath());
   }
 
     return FileUtil.toSystemIndependentName(getTestDataPath());
   }
 
@@ -548,7 +540,7 @@ public abstract class JavaCodeInsightTestCase extends JavaPsiTestCase {
     backspace(getEditor());
   }
 
     backspace(getEditor());
   }
 
-  protected void backspace(@NotNull final Editor editor) {
+  protected void backspace(final @NotNull Editor editor) {
     LightPlatformCodeInsightTestCase.backspace(editor,getProject());
   }
 
     LightPlatformCodeInsightTestCase.backspace(editor,getProject());
   }
 
@@ -560,19 +552,17 @@ public abstract class JavaCodeInsightTestCase extends JavaPsiTestCase {
     LightPlatformCodeInsightTestCase.ctrlD(getEditor(),getProject());
   }
 
     LightPlatformCodeInsightTestCase.ctrlD(getEditor(),getProject());
   }
 
-  protected void delete(@NotNull final Editor editor) {
+  protected void delete(final @NotNull Editor editor) {
     LightPlatformCodeInsightTestCase.delete(editor, getProject());
   }
 
     LightPlatformCodeInsightTestCase.delete(editor, getProject());
   }
 
-  @NotNull
-  protected PsiClass findClass(@NotNull final String name) {
+  protected @NotNull PsiClass findClass(final @NotNull String name) {
     final PsiClass aClass = myJavaFacade.findClass(name, ProjectScope.getProjectScope(getProject()));
     assertNotNull("Class " + name + " not found", aClass);
     return aClass;
   }
 
     final PsiClass aClass = myJavaFacade.findClass(name, ProjectScope.getProjectScope(getProject()));
     assertNotNull("Class " + name + " not found", aClass);
     return aClass;
   }
 
-  @NotNull
-  protected PsiPackage findPackage(@NotNull final String name) {
+  protected @NotNull PsiPackage findPackage(final @NotNull String name) {
     final PsiPackage aPackage = myJavaFacade.findPackage(name);
     assertNotNull("Package " + name + " not found", aPackage);
     return aPackage;
     final PsiPackage aPackage = myJavaFacade.findPackage(name);
     assertNotNull("Package " + name + " not found", aPackage);
     return aPackage;
index 4a501870a8d9d5d49123626b1551eda2fb663777..4701857c67daadd3b7f73746288504ea7ebb2dcb 100644 (file)
@@ -37,7 +37,6 @@ import java.util.List;
  * @author peter
  */
 public abstract class DumbService {
  * @author peter
  */
 public abstract class DumbService {
-
   /**
    * @see Project#getMessageBus()
    */
   /**
    * @see Project#getMessageBus()
    */
@@ -60,8 +59,7 @@ public abstract class DumbService {
     return getInstance(project).isDumb();
   }
 
     return getInstance(project).isDumb();
   }
 
-  @NotNull
-  public static <T> List<T> getDumbAwareExtensions(@NotNull Project project, @NotNull ExtensionPointName<T> extensionPoint) {
+  public static @NotNull <T> List<T> getDumbAwareExtensions(@NotNull Project project, @NotNull ExtensionPointName<T> extensionPoint) {
     List<T> list = extensionPoint.getExtensionList();
     if (list.isEmpty()) {
       return list;
     List<T> list = extensionPoint.getExtensionList();
     if (list.isEmpty()) {
       return list;
@@ -71,8 +69,7 @@ public abstract class DumbService {
     return dumbService.filterByDumbAwareness(list);
   }
 
     return dumbService.filterByDumbAwareness(list);
   }
 
-  @NotNull
-  public static <T> List<T> getDumbAwareExtensions(@NotNull Project project, @NotNull ProjectExtensionPointName<T> extensionPoint) {
+  public static @NotNull <T> List<T> getDumbAwareExtensions(@NotNull Project project, @NotNull ProjectExtensionPointName<T> extensionPoint) {
     DumbService dumbService = getInstance(project);
     return dumbService.filterByDumbAwareness(extensionPoint.getExtensions(project));
   }
     DumbService dumbService = getInstance(project);
     return dumbService.filterByDumbAwareness(extensionPoint.getExtensions(project));
   }
@@ -101,14 +98,13 @@ public abstract class DumbService {
    *
    * @throws ProcessCanceledException if the project is closed during dumb mode
    */
    *
    * @throws ProcessCanceledException if the project is closed during dumb mode
    */
-  public <T> T runReadActionInSmartMode(@NotNull final Computable<T> r) {
+  public <T> T runReadActionInSmartMode(final @NotNull Computable<T> r) {
     final Ref<T> result = new Ref<>();
     runReadActionInSmartMode(() -> result.set(r.compute()));
     return result.get();
   }
 
     final Ref<T> result = new Ref<>();
     runReadActionInSmartMode(() -> result.set(r.compute()));
     return result.get();
   }
 
-  @Nullable
-  public <T> T tryRunReadActionInSmartMode(@NotNull Computable<T> task, @Nullable String notification) {
+  public @Nullable <T> T tryRunReadActionInSmartMode(@NotNull Computable<T> task, @Nullable String notification) {
     if (ApplicationManager.getApplication().isReadAccessAllowed()) {
       try {
         return task.compute();
     if (ApplicationManager.getApplication().isReadAccessAllowed()) {
       try {
         return task.compute();
@@ -162,7 +158,7 @@ public abstract class DumbService {
    * @deprecated This method provides no guarantees and should be avoided, please use {@link #runReadActionInSmartMode} instead.
    */
   @Deprecated
    * @deprecated This method provides no guarantees and should be avoided, please use {@link #runReadActionInSmartMode} instead.
    */
   @Deprecated
-  public void repeatUntilPassesInSmartMode(@NotNull final Runnable r) {
+  public void repeatUntilPassesInSmartMode(final @NotNull Runnable r) {
     while (true) {
       waitForSmartMode();
       try {
     while (true) {
       waitForSmartMode();
       try {
@@ -196,8 +192,7 @@ public abstract class DumbService {
    * @return all the elements of the given array if there's no dumb mode currently, or the dumb-aware ones if {@link #isDumb()} is true.
    * @see #isDumbAware(Object)
    */
    * @return all the elements of the given array if there's no dumb mode currently, or the dumb-aware ones if {@link #isDumb()} is true.
    * @see #isDumbAware(Object)
    */
-  @NotNull
-  public <T> List<T> filterByDumbAwareness(T @NotNull [] array) {
+  public @NotNull <T> List<T> filterByDumbAwareness(T @NotNull [] array) {
     return filterByDumbAwareness(Arrays.asList(array));
   }
 
     return filterByDumbAwareness(Arrays.asList(array));
   }
 
@@ -205,9 +200,8 @@ public abstract class DumbService {
    * @return all the elements of the given collection if there's no dumb mode currently, or the dumb-aware ones if {@link #isDumb()} is true.
    * @see #isDumbAware(Object)
    */
    * @return all the elements of the given collection if there's no dumb mode currently, or the dumb-aware ones if {@link #isDumb()} is true.
    * @see #isDumbAware(Object)
    */
-  @NotNull
   @Contract(pure = true)
   @Contract(pure = true)
-  public <T> List<T> filterByDumbAwareness(@NotNull Collection<? extends T> collection) {
+  public @NotNull <T> List<T> filterByDumbAwareness(@NotNull Collection<? extends T> collection) {
     if (isDumb()) {
       final ArrayList<T> result = new ArrayList<>(collection.size());
       for (T element : collection) {
     if (isDumb()) {
       final ArrayList<T> result = new ArrayList<>(collection.size());
       for (T element : collection) {
@@ -278,7 +272,7 @@ public abstract class DumbService {
   /**
    * Disables given component temporarily during dumb mode.
    */
   /**
    * Disables given component temporarily during dumb mode.
    */
-  public void makeDumbAware(@NotNull final JComponent componentToDisable, @NotNull Disposable parentDisposable) {
+  public void makeDumbAware(final @NotNull JComponent componentToDisable, @NotNull Disposable parentDisposable) {
     componentToDisable.setEnabled(!isDumb());
     getProject().getMessageBus().connect(parentDisposable).subscribe(DUMB_MODE, new DumbModeListener() {
       @Override
     componentToDisable.setEnabled(!isDumb());
     getProject().getMessageBus().connect(parentDisposable).subscribe(DUMB_MODE, new DumbModeListener() {
       @Override
@@ -415,7 +409,6 @@ public abstract class DumbService {
    * @see #DUMB_MODE
    */
   public interface DumbModeListener {
    * @see #DUMB_MODE
    */
   public interface DumbModeListener {
-
     /**
      * The event arrives on EDT.
      */
     /**
      * The event arrives on EDT.
      */
index 06d6503c5f650e08be875da7b6a6c2dd93853159..4ecf56688d6cd9428c91a98b08f4997c1e54902d 100644 (file)
@@ -1,21 +1,6 @@
-/*
- * Copyright 2000-2011 JetBrains s.r.o.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
 package com.intellij.openapi.roots;
 
 package com.intellij.openapi.roots;
 
-import com.intellij.openapi.components.ServiceManager;
 import com.intellij.openapi.module.Module;
 import com.intellij.openapi.module.UnloadedModuleDescription;
 import com.intellij.openapi.project.Project;
 import com.intellij.openapi.module.Module;
 import com.intellij.openapi.module.UnloadedModuleDescription;
 import com.intellij.openapi.project.Project;
@@ -33,12 +18,12 @@ import java.util.Collection;
 public abstract class FileIndexFacade {
   protected final Project myProject;
 
 public abstract class FileIndexFacade {
   protected final Project myProject;
 
-  protected FileIndexFacade(final Project project) {
+  protected FileIndexFacade(@NotNull Project project) {
     myProject = project;
   }
 
   public static FileIndexFacade getInstance(Project project) {
     myProject = project;
   }
 
   public static FileIndexFacade getInstance(Project project) {
-    return ServiceManager.getService(project, FileIndexFacade.class);
+    return project.getService(FileIndexFacade.class);
   }
 
   public abstract boolean isInContent(@NotNull VirtualFile file);
   }
 
   public abstract boolean isInContent(@NotNull VirtualFile file);
@@ -50,8 +35,7 @@ public abstract class FileIndexFacade {
   public abstract boolean isExcludedFile(@NotNull VirtualFile file);
   public abstract boolean isUnderIgnored(@NotNull VirtualFile file);
 
   public abstract boolean isExcludedFile(@NotNull VirtualFile file);
   public abstract boolean isUnderIgnored(@NotNull VirtualFile file);
 
-  @Nullable
-  public abstract Module getModuleForFile(@NotNull VirtualFile file);
+  public abstract @Nullable Module getModuleForFile(@NotNull VirtualFile file);
 
   /**
    * Checks if {@code file} is an ancestor of {@code baseDir} and none of the files
 
   /**
    * Checks if {@code file} is an ancestor of {@code baseDir} and none of the files
@@ -72,14 +56,13 @@ public abstract class FileIndexFacade {
     return true;
   }
 
     return true;
   }
 
-  @NotNull public abstract ModificationTracker getRootModificationTracker();
+  public abstract @NotNull ModificationTracker getRootModificationTracker();
 
   /**
    * @return descriptions of all modules which are unloaded from the project
    * @see UnloadedModuleDescription
    */
 
   /**
    * @return descriptions of all modules which are unloaded from the project
    * @see UnloadedModuleDescription
    */
-  @NotNull
-  public abstract Collection<UnloadedModuleDescription> getUnloadedModuleDescriptions();
+  public abstract @NotNull Collection<UnloadedModuleDescription> getUnloadedModuleDescriptions();
 
   /**
    * @return true if the {@code file} is {@link #isInContent} except when it's in {@link #isInLibraryClasses} and not in {@link #isInLibrarySource}
 
   /**
    * @return true if the {@code file} is {@link #isInContent} except when it's in {@link #isInLibraryClasses} and not in {@link #isInLibrarySource}
index fc9985dd24b35dbf104448eb8dcc7c69a5cff0b1..8e338e021f2ee3929fb77fb511a5bbc4a9a227df 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
+// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
 package com.intellij.psi.impl;
 
 import com.intellij.lang.PsiBuilderFactory;
 package com.intellij.psi.impl;
 
 import com.intellij.lang.PsiBuilderFactory;
@@ -50,8 +50,7 @@ public final class PsiManagerImpl extends PsiManagerEx implements Disposable {
 
   private final AtomicInteger myBatchFilesProcessingModeCount = new AtomicInteger(0);
 
 
   private final AtomicInteger myBatchFilesProcessingModeCount = new AtomicInteger(0);
 
-  public static final Topic<AnyPsiChangeListener> ANY_PSI_CHANGE_TOPIC =
-    Topic.create("ANY_PSI_CHANGE_TOPIC", AnyPsiChangeListener.class, Topic.BroadcastDirection.TO_PARENT);
+  public static final Topic<AnyPsiChangeListener> ANY_PSI_CHANGE_TOPIC = new Topic<>(AnyPsiChangeListener.class, Topic.BroadcastDirection.TO_PARENT);
 
   public PsiManagerImpl(@NotNull Project project) {
     // we need to initialize PsiBuilderFactory service so it won't initialize under PsiLock from ChameleonTransform
 
   public PsiManagerImpl(@NotNull Project project) {
     // we need to initialize PsiBuilderFactory service so it won't initialize under PsiLock from ChameleonTransform
index 5dde7a7238a63e9a5693fd5518d4928422bf234f..561b1dfa819d24af409f9f4060a0f4668729a3d5 100644 (file)
@@ -20,17 +20,13 @@ public class EditorActivityManager {
    * Determines whether an editor is visible to a user
    */
   public boolean isVisible(@NotNull Editor editor) {
    * Determines whether an editor is visible to a user
    */
   public boolean isVisible(@NotNull Editor editor) {
-    if (ApplicationManager.getApplication().isHeadlessEnvironment()) return true;
-
-    return editor.getContentComponent().isShowing();
+    return ApplicationManager.getApplication().isHeadlessEnvironment() || editor.getContentComponent().isShowing();
   }
 
   /**
    * Determines whether an editor has focus
    */
   public boolean isFocused(@NotNull Editor editor) {
   }
 
   /**
    * Determines whether an editor has focus
    */
   public boolean isFocused(@NotNull Editor editor) {
-    if (ApplicationManager.getApplication().isHeadlessEnvironment()) return true;
-
-    return editor.getContentComponent().hasFocus();
+    return ApplicationManager.getApplication().isHeadlessEnvironment() || editor.getContentComponent().hasFocus();
   }
 }
   }
 }
index f618377725f620989fac3551888a279523f44d57..0d071e2bf2faa51e52be07db4e92a66ec77a1574 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
+// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
 package com.intellij.openapi.externalSystem.autoimport
 
 import com.intellij.codeInsight.daemon.DaemonCodeAnalyzerSettings
 package com.intellij.openapi.externalSystem.autoimport
 
 import com.intellij.codeInsight.daemon.DaemonCodeAnalyzerSettings
@@ -36,9 +36,10 @@ import org.jetbrains.annotations.TestOnly
 import java.util.concurrent.ConcurrentHashMap
 import kotlin.streams.asStream
 
 import java.util.concurrent.ConcurrentHashMap
 import kotlin.streams.asStream
 
+private val LOG = Logger.getInstance("#com.intellij.openapi.externalSystem.autoimport")
+
 @State(name = "ExternalSystemProjectTracker", storages = [Storage(CACHE_FILE)])
 class AutoImportProjectTracker(private val project: Project) : ExternalSystemProjectTracker, PersistentStateComponent<AutoImportProjectTracker.State> {
 @State(name = "ExternalSystemProjectTracker", storages = [Storage(CACHE_FILE)])
 class AutoImportProjectTracker(private val project: Project) : ExternalSystemProjectTracker, PersistentStateComponent<AutoImportProjectTracker.State> {
-
   @Suppress("unused")
   private val debugThrowable = Throwable("Initialized with project=(${project.isDisposed}, ${Disposer.isDisposed(project)}, $project)")
 
   @Suppress("unused")
   private val debugThrowable = Throwable("Initialized with project=(${project.isDisposed}, ${Disposer.isDisposed(project)}, $project)")
 
@@ -269,8 +270,7 @@ class AutoImportProjectTracker(private val project: Project) : ExternalSystemPro
 
   override fun initializeComponent() {
     LOG.debug("Project tracker initialization")
 
   override fun initializeComponent() {
     LOG.debug("Project tracker initialization")
-    val connections = ApplicationManager.getApplication().messageBus.connect(project)
-    connections.subscribe(BatchFileChangeListener.TOPIC, createProjectChangesListener())
+    ApplicationManager.getApplication().messageBus.connect(project).subscribe(BatchFileChangeListener.TOPIC, createProjectChangesListener())
     dispatcher.setRestartTimerOnAdd(true)
     dispatcher.isPassThrough = !isAsyncChangesProcessing
     dispatcher.activate()
     dispatcher.setRestartTimerOnAdd(true)
     dispatcher.isPassThrough = !isAsyncChangesProcessing
     dispatcher.activate()
index 63f76f12d0b9633ba3c0cf24f77c8bf021593390..d5d176c9ad76f50ac09cf52e48c9dc13e8dbca0b 100644 (file)
@@ -1,5 +1,4 @@
-// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
-
+// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
 package com.intellij.facet;
 
 import com.intellij.openapi.module.Module;
 package com.intellij.facet;
 
 import com.intellij.openapi.module.Module;
@@ -10,7 +9,7 @@ import org.jetbrains.annotations.Nullable;
 
 @ApiStatus.NonExtendable
 public abstract class FacetManager implements FacetModel {
 
 @ApiStatus.NonExtendable
 public abstract class FacetManager implements FacetModel {
-  public static final Topic<FacetManagerListener> FACETS_TOPIC = Topic.create("facet changes", FacetManagerListener.class, Topic.BroadcastDirection.TO_PARENT);
+  public static final Topic<FacetManagerListener> FACETS_TOPIC = new Topic<>(FacetManagerListener.class, Topic.BroadcastDirection.TO_PARENT);
 
   public static FacetManager getInstance(@NotNull Module module) {
     return module.getComponent(FacetManager.class);
 
   public static FacetManager getInstance(@NotNull Module module) {
     return module.getComponent(FacetManager.class);
index 6eae25e955f8f2f75d77f600fc503eecef2ab531..e58a7f1820c728221fced1d55c042e99db3b2ae0 100644 (file)
@@ -1,19 +1,4 @@
-/*
- * Copyright 2000-2009 JetBrains s.r.o.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
+// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
 package com.intellij.facet;
 
 import org.jetbrains.annotations.NotNull;
 package com.intellij.facet;
 
 import org.jetbrains.annotations.NotNull;
@@ -21,7 +6,6 @@ import org.jetbrains.annotations.NotNull;
 import java.util.EventListener;
 
 public interface FacetManagerListener extends EventListener {
 import java.util.EventListener;
 
 public interface FacetManagerListener extends EventListener {
-
   void beforeFacetAdded(@NotNull Facet facet);
 
   void beforeFacetRemoved(@NotNull Facet facet);
   void beforeFacetAdded(@NotNull Facet facet);
 
   void beforeFacetRemoved(@NotNull Facet facet);
index 5b0a7a6f8291bd21097b46a526185fd5f2bc7036..9cdd875e543eb18fde07a745de0a663865c59fcd 100644 (file)
@@ -1,32 +1,15 @@
-/*
- * Copyright 2000-2009 JetBrains s.r.o.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
+// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
 package com.intellij.facet;
 
 import com.intellij.openapi.Disposable;
 package com.intellij.facet;
 
 import com.intellij.openapi.Disposable;
-import com.intellij.openapi.components.ServiceManager;
 import com.intellij.openapi.project.Project;
 import org.jetbrains.annotations.ApiStatus;
 import org.jetbrains.annotations.NotNull;
 
 @ApiStatus.NonExtendable
 public abstract class ProjectWideFacetListenersRegistry {
 import com.intellij.openapi.project.Project;
 import org.jetbrains.annotations.ApiStatus;
 import org.jetbrains.annotations.NotNull;
 
 @ApiStatus.NonExtendable
 public abstract class ProjectWideFacetListenersRegistry {
-
-  public static ProjectWideFacetListenersRegistry getInstance(Project project) {
-    return ServiceManager.getService(project, ProjectWideFacetListenersRegistry.class);
+  public static ProjectWideFacetListenersRegistry getInstance(@NotNull Project project) {
+    return project.getService(ProjectWideFacetListenersRegistry.class);
   }
 
   public abstract <F extends Facet<?>> void registerListener(@NotNull FacetTypeId<F> typeId, @NotNull ProjectWideFacetListener<? extends F> listener);
   }
 
   public abstract <F extends Facet<?>> void registerListener(@NotNull FacetTypeId<F> typeId, @NotNull ProjectWideFacetListener<? extends F> listener);
index 1b570cf2f3f1695bcd7bda76442ab7c12954b7b0..c977d59ad08131ffdbe4ba516c566c815215b202 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
+// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
 package com.intellij.codeInsight.completion;
 
 import com.intellij.injected.editor.EditorWindow;
 package com.intellij.codeInsight.completion;
 
 import com.intellij.injected.editor.EditorWindow;
@@ -24,7 +24,7 @@ import java.util.Objects;
 /**
  * @author peter
  */
 /**
  * @author peter
  */
-class ActionTracker {
+final class ActionTracker {
   private final @NotNull MessageBusConnection myConnection;
   private @NotNull List<Integer> myCaretOffsets;
   private long myStartDocStamp;
   private final @NotNull MessageBusConnection myConnection;
   private @NotNull List<Integer> myCaretOffsets;
   private long myStartDocStamp;
@@ -33,7 +33,7 @@ class ActionTracker {
   private final Project myProject;
   private final boolean myIsDumb;
 
   private final Project myProject;
   private final boolean myIsDumb;
 
-  ActionTracker(Editor editor, Disposable parentDisposable) {
+  ActionTracker(@NotNull Editor editor, @NotNull Disposable parentDisposable) {
     myEditor = editor;
     myProject = Objects.requireNonNull(editor.getProject());
     myIsDumb = DumbService.getInstance(myProject).isDumb();
     myEditor = editor;
     myProject = Objects.requireNonNull(editor.getProject());
     myIsDumb = DumbService.getInstance(myProject).isDumb();
index 483d6f17c2363d75f6ddf95199f9c28078673a23..339bd3a3a134418646dd28347b2b9208c7724b3d 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
+// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
 package com.intellij.codeInsight.daemon.impl;
 
 import com.intellij.codeInsight.daemon.DaemonCodeAnalyzer;
 package com.intellij.codeInsight.daemon.impl;
 
 import com.intellij.codeInsight.daemon.DaemonCodeAnalyzer;
@@ -16,7 +16,7 @@ import com.intellij.psi.PsiFile;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
-public class ErrorStripeUpdateManager {
+public final class ErrorStripeUpdateManager {
   public static ErrorStripeUpdateManager getInstance(Project project) {
     return ServiceManager.getService(project, ErrorStripeUpdateManager.class);
   }
   public static ErrorStripeUpdateManager getInstance(Project project) {
     return ServiceManager.getService(project, ErrorStripeUpdateManager.class);
   }
index 21a3ccab81ef173ea1a8065386bae8e642a3b006..9bcc2d5ad08247d3becc14b85fdd757114543cc0 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
+// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
 
 package com.intellij.codeInsight.lookup.impl;
 
 
 package com.intellij.codeInsight.lookup.impl;
 
@@ -25,7 +25,7 @@ import com.intellij.openapi.util.Key;
 import com.intellij.ui.LightweightHint;
 import com.intellij.util.Alarm;
 import com.intellij.util.BitUtil;
 import com.intellij.ui.LightweightHint;
 import com.intellij.util.Alarm;
 import com.intellij.util.BitUtil;
-import com.intellij.util.messages.MessageBus;
+import com.intellij.util.messages.MessageBusConnection;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.TestOnly;
 
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.TestOnly;
 
@@ -41,10 +41,11 @@ public class LookupManagerImpl extends LookupManager {
 
   public static final Key<Boolean> SUPPRESS_AUTOPOPUP_JAVADOC = Key.create("LookupManagerImpl.suppressAutopopupJavadoc");
 
 
   public static final Key<Boolean> SUPPRESS_AUTOPOPUP_JAVADOC = Key.create("LookupManagerImpl.suppressAutopopupJavadoc");
 
-  public LookupManagerImpl(Project project, MessageBus bus) {
+  public LookupManagerImpl(@NotNull Project project) {
     myProject = project;
 
     myProject = project;
 
-    bus.connect().subscribe(EditorHintListener.TOPIC, new EditorHintListener() {
+    MessageBusConnection connection = project.getMessageBus().connect();
+    connection.subscribe(EditorHintListener.TOPIC, new EditorHintListener() {
       @Override
       public void hintShown(final Project project, @NotNull final LightweightHint hint, final int flags) {
         if (project == myProject) {
       @Override
       public void hintShown(final Project project, @NotNull final LightweightHint hint, final int flags) {
         if (project == myProject) {
@@ -71,7 +72,7 @@ public class LookupManagerImpl extends LookupManager {
       }
     });
 
       }
     });
 
-    bus.connect().subscribe(DumbService.DUMB_MODE, new DumbService.DumbModeListener() {
+    connection.subscribe(DumbService.DUMB_MODE, new DumbService.DumbModeListener() {
       @Override
       public void enteredDumbMode() {
         hideActiveLookup();
       @Override
       public void enteredDumbMode() {
         hideActiveLookup();
index ce3253ea9e0652daf98625404c070add8062604f..58a52ae0eaaea61bd23064cd5df22fc372e8849a 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
+// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
 package com.intellij.openapi.roots.impl.libraries;
 
 import com.intellij.ide.ApplicationInitializedListener;
 package com.intellij.openapi.roots.impl.libraries;
 
 import com.intellij.ide.ApplicationInitializedListener;
@@ -16,7 +16,7 @@ import org.jetbrains.annotations.NotNull;
 
 import java.util.function.Consumer;
 
 
 import java.util.function.Consumer;
 
-public class LibraryKindLoader implements ApplicationInitializedListener {
+final class LibraryKindLoader implements ApplicationInitializedListener {
   @Override
   public void componentsInitialized() {
     //todo[nik] this is temporary workaround for IDEA-98118: we need to initialize all library types to ensure that their kinds are created and registered in LibraryKind.ourAllKinds
   @Override
   public void componentsInitialized() {
     //todo[nik] this is temporary workaround for IDEA-98118: we need to initialize all library types to ensure that their kinds are created and registered in LibraryKind.ourAllKinds
index f9bb61870eb9e47b927e06a7f21de4f325488469..40a6b38a4916c44fee2ad9e218bdf40aaa110f19 100644 (file)
@@ -1,16 +1,12 @@
-// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
+// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
 package com.intellij.util.indexing;
 
 import com.intellij.ide.plugins.DynamicPluginListener;
 import com.intellij.ide.plugins.IdeaPluginDescriptor;
 package com.intellij.util.indexing;
 
 import com.intellij.ide.plugins.DynamicPluginListener;
 import com.intellij.ide.plugins.IdeaPluginDescriptor;
-import com.intellij.openapi.project.DumbService;
-import com.intellij.openapi.project.Project;
-import com.intellij.openapi.project.ProjectManager;
 import org.jetbrains.annotations.NotNull;
 
 import org.jetbrains.annotations.NotNull;
 
-class FileBasedIndexPluginListener implements DynamicPluginListener {
-  @NotNull
-  private final FileBasedIndexSwitcher mySwitcher;
+final class FileBasedIndexPluginListener implements DynamicPluginListener {
+  private final @NotNull FileBasedIndexSwitcher mySwitcher;
 
   FileBasedIndexPluginListener(@NotNull FileBasedIndexImpl index) {
     mySwitcher = new FileBasedIndexSwitcher(index);
 
   FileBasedIndexPluginListener(@NotNull FileBasedIndexImpl index) {
     mySwitcher = new FileBasedIndexSwitcher(index);
index 6bbedf8e0b4005372b1308d940ac39279fb5d7ff..afdc9227444d163f4063c874855c7ef408cd3918 100644 (file)
@@ -1,75 +1,77 @@
-// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
+// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
 package com.intellij.util.indexing;
 
 package com.intellij.util.indexing;
 
+import com.intellij.ide.impl.ProjectUtil;
+import com.intellij.openapi.application.Application;
 import com.intellij.openapi.application.ApplicationManager;
 import com.intellij.openapi.diagnostic.Logger;
 import com.intellij.openapi.progress.ProgressIndicator;
 import com.intellij.openapi.project.DumbModeTask;
 import com.intellij.openapi.project.DumbService;
 import com.intellij.openapi.project.Project;
 import com.intellij.openapi.application.ApplicationManager;
 import com.intellij.openapi.diagnostic.Logger;
 import com.intellij.openapi.progress.ProgressIndicator;
 import com.intellij.openapi.project.DumbModeTask;
 import com.intellij.openapi.project.DumbService;
 import com.intellij.openapi.project.Project;
-import com.intellij.openapi.project.ProjectManager;
 import com.intellij.util.concurrency.Semaphore;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.TestOnly;
 
 import com.intellij.util.concurrency.Semaphore;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.TestOnly;
 
-public class FileBasedIndexSwitcher {
-    private static final Logger LOG = Logger.getInstance(FileBasedIndexSwitcher.class);
+public final class FileBasedIndexSwitcher {
+  private static final Logger LOG = Logger.getInstance(FileBasedIndexSwitcher.class);
 
 
-    @NotNull
-    private final FileBasedIndexImpl myFileBasedIndex;
+  @NotNull
+  private final FileBasedIndexImpl myFileBasedIndex;
 
 
-    // accessed only in EDT
-    private Semaphore myDumbModeSemaphore;
+  // accessed only in EDT
+  private Semaphore myDumbModeSemaphore;
 
 
-    @TestOnly
-    public FileBasedIndexSwitcher() {
-        this(((FileBasedIndexImpl) FileBasedIndex.getInstance()));
-    }
+  @TestOnly
+  public FileBasedIndexSwitcher() {
+    this(((FileBasedIndexImpl)FileBasedIndex.getInstance()));
+  }
 
 
-    public FileBasedIndexSwitcher(@NotNull FileBasedIndexImpl index) {
-        myFileBasedIndex = index;
-    }
+  public FileBasedIndexSwitcher(@NotNull FileBasedIndexImpl index) {
+    myFileBasedIndex = index;
+  }
 
 
-    public void turnOff() {
-        LOG.assertTrue(ApplicationManager.getApplication().isDispatchThread());
-        LOG.assertTrue(!ApplicationManager.getApplication().isWriteAccessAllowed());
-        Project[] projects = ProjectManager.getInstance().getOpenProjects();
-        boolean unitTestMode = ApplicationManager.getApplication().isUnitTestMode();
-        if (!unitTestMode) {
-            myDumbModeSemaphore = new Semaphore(1);
-            for (Project project : projects) {
-                DumbService.getInstance(project).cancelAllTasksAndWait();
-                DumbService.getInstance(project).queueTask(new DumbModeTask() {
-                    @Override
-                    public void performInDumbMode(@NotNull ProgressIndicator indicator) {
-                        indicator.setText(IndexingBundle.message("indexes.reloading"));
-                        myDumbModeSemaphore.waitFor();
-                    }
-                });
-            }
-        }
-        myFileBasedIndex.performShutdown(true);
-        myFileBasedIndex.dropRegisteredIndexes();
-        IndexingStamp.flushCaches();
+  public void turnOff() {
+    Application app = ApplicationManager.getApplication();
+    LOG.assertTrue(app.isDispatchThread());
+    LOG.assertTrue(!app.isWriteAccessAllowed());
+    boolean unitTestMode = app.isUnitTestMode();
+    if (!unitTestMode) {
+      myDumbModeSemaphore = new Semaphore(1);
+      for (Project project : ProjectUtil.getOpenProjects()) {
+        DumbService dumbService = DumbService.getInstance(project);
+        dumbService.cancelAllTasksAndWait();
+        dumbService.queueTask(new DumbModeTask() {
+          @Override
+          public void performInDumbMode(@NotNull ProgressIndicator indicator) {
+            indicator.setText(IndexingBundle.message("indexes.reloading"));
+            myDumbModeSemaphore.waitFor();
+          }
+        });
+      }
     }
     }
+    myFileBasedIndex.performShutdown(true);
+    myFileBasedIndex.dropRegisteredIndexes();
+    IndexingStamp.flushCaches();
+  }
 
 
-    public void turnOn() {
-        LOG.assertTrue(ApplicationManager.getApplication().isWriteThread());
-        RebuildStatus.reset();
-        myFileBasedIndex.initComponent();
-        boolean unitTestMode = ApplicationManager.getApplication().isUnitTestMode();
+  public void turnOn() {
+    LOG.assertTrue(ApplicationManager.getApplication().isWriteThread());
+    RebuildStatus.reset();
+    myFileBasedIndex.initComponent();
+    boolean unitTestMode = ApplicationManager.getApplication().isUnitTestMode();
 
 
-        if (unitTestMode) {
-            myFileBasedIndex.waitUntilIndicesAreInitialized();
-        }
+    if (unitTestMode) {
+      myFileBasedIndex.waitUntilIndicesAreInitialized();
+    }
 
 
-        if (!unitTestMode) {
-            myDumbModeSemaphore.up();
-        }
+    if (!unitTestMode) {
+      myDumbModeSemaphore.up();
+    }
 
 
-        FileBasedIndexImpl.cleanupProcessedFlag();
-        for (Project project : ProjectManager.getInstance().getOpenProjects()) {
-            DumbService.getInstance(project).queueTask(new UnindexedFilesUpdater(project));
-        }
+    FileBasedIndexImpl.cleanupProcessedFlag();
+    for (Project project : ProjectUtil.getOpenProjects()) {
+      DumbService.getInstance(project).queueTask(new UnindexedFilesUpdater(project));
     }
     }
+  }
 }
 }
index 6774a2bc7f2fdbe44bd94f18c744778dc0d14070..9b407fd4d3f274cbe0bef746c8d547f534896214 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
+// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
 package com.intellij.openapi.fileEditor;
 
 import com.intellij.AppTopics;
 package com.intellij.openapi.fileEditor;
 
 import com.intellij.AppTopics;
@@ -13,7 +13,6 @@ import java.util.EventListener;
  * @see AppTopics#FILE_DOCUMENT_SYNC
  */
 public interface FileDocumentManagerListener extends EventListener {
  * @see AppTopics#FILE_DOCUMENT_SYNC
  */
 public interface FileDocumentManagerListener extends EventListener {
-
   /**
    * There is a possible case that callback that listens for the events implied by the current interface needs to modify document
    * contents (e.g. strip trailing spaces before saving a document). It's too dangerous to do that from message bus callback
   /**
    * There is a possible case that callback that listens for the events implied by the current interface needs to modify document
    * contents (e.g. strip trailing spaces before saving a document). It's too dangerous to do that from message bus callback
@@ -22,7 +21,7 @@ public interface FileDocumentManagerListener extends EventListener {
    * That's why this interface is exposed via extension point as well - it's possible to modify document content from
    * the extension callback.
    */
    * That's why this interface is exposed via extension point as well - it's possible to modify document content from
    * the extension callback.
    */
-  ExtensionPointName<FileDocumentManagerListener> EP_NAME = ExtensionPointName.create("com.intellij.fileDocumentManagerListener");
+  ExtensionPointName<FileDocumentManagerListener> EP_NAME = new ExtensionPointName<>("com.intellij.fileDocumentManagerListener");
 
   /**
    * Fired before processing FileDocumentManager.saveAllDocuments(). Can be used by plugins
 
   /**
    * Fired before processing FileDocumentManager.saveAllDocuments(). Can be used by plugins
index 27c218607988401b753675350c8425603310fa93..4e7b7b910b5e387d7d46f207c8964a0310adcf45 100644 (file)
@@ -15,7 +15,6 @@ import javax.swing.*;
 import java.util.List;
 
 public abstract class FileEditorManager {
 import java.util.List;
 
 public abstract class FileEditorManager {
-
   public static final Key<Boolean> USE_CURRENT_WINDOW = Key.create("OpenFile.searchForOpen");
 
   public static FileEditorManager getInstance(@NotNull Project project) {
   public static final Key<Boolean> USE_CURRENT_WINDOW = Key.create("OpenFile.searchForOpen");
 
   public static FileEditorManager getInstance(@NotNull Project project) {
@@ -57,8 +56,7 @@ public abstract class FileEditorManager {
    *
    * @return opened text editor. The method returns {@code null} in case if text editor wasn't opened.
    */
    *
    * @return opened text editor. The method returns {@code null} in case if text editor wasn't opened.
    */
-  @Nullable
-  public abstract Editor openTextEditor(@NotNull OpenFileDescriptor descriptor, boolean focusEditor);
+  public abstract @Nullable Editor openTextEditor(@NotNull OpenFileDescriptor descriptor, boolean focusEditor);
 
   /**
    * @deprecated use {@link #openTextEditor(OpenFileDescriptor, boolean)}
 
   /**
    * @deprecated use {@link #openTextEditor(OpenFileDescriptor, boolean)}
@@ -73,8 +71,7 @@ public abstract class FileEditorManager {
    * there is no selected editor at all or selected editor is not a text one.
    * Must be called from <a href="https://docs.oracle.com/javase/tutorial/uiswing/concurrency/dispatch.html">EDT</a>.
    */
    * there is no selected editor at all or selected editor is not a text one.
    * Must be called from <a href="https://docs.oracle.com/javase/tutorial/uiswing/concurrency/dispatch.html">EDT</a>.
    */
-  @Nullable
-  public abstract Editor getSelectedTextEditor();
+  public abstract @Nullable Editor getSelectedTextEditor();
 
   /**
    * @return currently selected TEXT editors including ones which were opened by guests during a collaborative development session
 
   /**
    * @return currently selected TEXT editors including ones which were opened by guests during a collaborative development session
@@ -124,8 +121,7 @@ public abstract class FileEditorManager {
   /**
    * @return currently selected file editor or {@code null} if there is no selected editor at all.
    */
   /**
    * @return currently selected file editor or {@code null} if there is no selected editor at all.
    */
-  @Nullable
-  public FileEditor getSelectedEditor() {
+  public @Nullable FileEditor getSelectedEditor() {
     VirtualFile[] files = getSelectedFiles();
     return files.length == 0 ? null : getSelectedEditor(files[0]);
   }
     VirtualFile[] files = getSelectedFiles();
     return files.length == 0 ? null : getSelectedEditor(files[0]);
   }
@@ -134,8 +130,7 @@ public abstract class FileEditorManager {
    * @return editor which is currently selected for given file.
    * The method returns {@code null} if {@code file} is not opened.
    */
    * @return editor which is currently selected for given file.
    * The method returns {@code null} if {@code file} is not opened.
    */
-  @Nullable
-  public abstract FileEditor getSelectedEditor(@NotNull VirtualFile file);
+  public abstract @Nullable FileEditor getSelectedEditor(@NotNull VirtualFile file);
 
   /**
    * @return current editors for the specified {@code file}
 
   /**
    * @return current editors for the specified {@code file}
@@ -164,9 +159,9 @@ public abstract class FileEditorManager {
    * To change an order of components the specified component may implement the
    * {@link com.intellij.openapi.util.Weighted Weighted} interface.
    */
    * To change an order of components the specified component may implement the
    * {@link com.intellij.openapi.util.Weighted Weighted} interface.
    */
-  public abstract void addTopComponent(@NotNull final FileEditor editor, @NotNull final JComponent component);
+  public abstract void addTopComponent(final @NotNull FileEditor editor, final @NotNull JComponent component);
 
 
-  public abstract void removeTopComponent(@NotNull final FileEditor editor, @NotNull final JComponent component);
+  public abstract void removeTopComponent(final @NotNull FileEditor editor, final @NotNull JComponent component);
 
   /**
    * Adds the specified component below the editor and paints a separator line above it.
 
   /**
    * Adds the specified component below the editor and paints a separator line above it.
@@ -180,9 +175,9 @@ public abstract class FileEditorManager {
    * To change an order of components the specified component may implement the
    * {@link com.intellij.openapi.util.Weighted Weighted} interface.
    */
    * To change an order of components the specified component may implement the
    * {@link com.intellij.openapi.util.Weighted Weighted} interface.
    */
-  public abstract void addBottomComponent(@NotNull final FileEditor editor, @NotNull final JComponent component);
+  public abstract void addBottomComponent(final @NotNull FileEditor editor, final @NotNull JComponent component);
 
 
-  public abstract void removeBottomComponent(@NotNull final FileEditor editor, @NotNull final JComponent component);
+  public abstract void removeBottomComponent(final @NotNull FileEditor editor, final @NotNull JComponent component);
 
   public static final Key<Boolean> SEPARATOR_DISABLED = Key.create("FileEditorSeparatorDisabled");
 
 
   public static final Key<Boolean> SEPARATOR_DISABLED = Key.create("FileEditorSeparatorDisabled");
 
@@ -218,16 +213,14 @@ public abstract class FileEditorManager {
    *
    * @return opened file editors
    */
    *
    * @return opened file editors
    */
-  @NotNull
-  public abstract List<FileEditor> openEditor(@NotNull OpenFileDescriptor descriptor, boolean focusEditor);
+  public abstract @NotNull List<FileEditor> openEditor(@NotNull OpenFileDescriptor descriptor, boolean focusEditor);
 
   /**
    * Returns the project with which the file editor manager is associated.
    *
    * @return the project instance.
    */
 
   /**
    * Returns the project with which the file editor manager is associated.
    *
    * @return the project instance.
    */
-  @NotNull
-  public abstract Project getProject();
+  public abstract @NotNull Project getProject();
 
   public abstract void registerExtraEditorDataProvider(@NotNull EditorDataProvider provider, Disposable parentDisposable);
 
 
   public abstract void registerExtraEditorDataProvider(@NotNull EditorDataProvider provider, Disposable parentDisposable);
 
@@ -235,8 +228,7 @@ public abstract class FileEditorManager {
    * Returns data associated with given editor/caret context. Data providers are registered via
    * {@link #registerExtraEditorDataProvider(EditorDataProvider, Disposable)} method.
    */
    * Returns data associated with given editor/caret context. Data providers are registered via
    * {@link #registerExtraEditorDataProvider(EditorDataProvider, Disposable)} method.
    */
-  @Nullable
-  public abstract Object getData(@NotNull String dataId, @NotNull Editor editor, @NotNull Caret caret);
+  public abstract @Nullable Object getData(@NotNull String dataId, @NotNull Editor editor, @NotNull Caret caret);
 
   /**
    * Selects a specified file editor tab for the specified editor.
 
   /**
    * Selects a specified file editor tab for the specified editor.
index cf9adfd5ec32be896f404640c616bbe9fcf1927d..c66aad0dd2e2c6e8aab7560ea9a74f6fcc8db659 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
+// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
 package com.intellij.openapi.fileEditor;
 
 import com.intellij.openapi.util.Pair;
 package com.intellij.openapi.fileEditor;
 
 import com.intellij.openapi.util.Pair;
@@ -11,9 +11,9 @@ import java.util.EventListener;
 /**
  * Listener for {@link FileEditorManager} events. All methods are invoked in EDT.
  */
 /**
  * Listener for {@link FileEditorManager} events. All methods are invoked in EDT.
  */
-public interface FileEditorManagerListener extends EventListener{
-  Topic<FileEditorManagerListener> FILE_EDITOR_MANAGER =
-    new Topic<>("file editor events", FileEditorManagerListener.class, Topic.BroadcastDirection.TO_PARENT);
+public interface FileEditorManagerListener extends EventListener {
+  // project level
+  Topic<FileEditorManagerListener> FILE_EDITOR_MANAGER = new Topic<>(FileEditorManagerListener.class, Topic.BroadcastDirection.TO_PARENT);
 
   /**
    * This method is called synchronously (in the same EDT event), as the creation of FileEditor(s).
 
   /**
    * This method is called synchronously (in the same EDT event), as the creation of FileEditor(s).
@@ -40,8 +40,10 @@ public interface FileEditorManagerListener extends EventListener{
   }
 
   interface Before extends EventListener {
   }
 
   interface Before extends EventListener {
-    Topic<Before> FILE_EDITOR_MANAGER =
-      new Topic<>("file editor before events", Before.class, Topic.BroadcastDirection.TO_PARENT);
+    /**
+     * file editor before events
+     */
+    Topic<Before> FILE_EDITOR_MANAGER = new Topic<>(Before.class, Topic.BroadcastDirection.TO_PARENT);
 
     default void beforeFileOpened(@NotNull FileEditorManager source, @NotNull VirtualFile file) {
     }
 
     default void beforeFileOpened(@NotNull FileEditorManager source, @NotNull VirtualFile file) {
     }
index df6c8403bfd99ed1507c45e555c0679669be5bad..021e83b62e3a187cd096616b481f4eeeca360234 100644 (file)
@@ -48,14 +48,11 @@ public abstract class FileEditorManagerEx extends FileEditorManager implements B
    *
    * @see EditorComposite#getPreferredFocusedComponent()
    */
    *
    * @see EditorComposite#getPreferredFocusedComponent()
    */
-  @Nullable
-  public abstract JComponent getPreferredFocusedComponent();
+  public abstract @Nullable JComponent getPreferredFocusedComponent();
 
 
-  @NotNull
-  public abstract Pair<FileEditor[], FileEditorProvider[]> getEditorsWithProviders(@NotNull VirtualFile file);
+  public abstract @NotNull Pair<FileEditor[], FileEditorProvider[]> getEditorsWithProviders(@NotNull VirtualFile file);
 
 
-  @Nullable
-  public abstract VirtualFile getFile(@NotNull FileEditor editor);
+  public abstract @Nullable VirtualFile getFile(@NotNull FileEditor editor);
 
   /**
    * Refreshes the text, colors and icon of the editor tabs representing the specified file.
 
   /**
    * Refreshes the text, colors and icon of the editor tabs representing the specified file.
@@ -73,8 +70,7 @@ public abstract class FileEditorManagerEx extends FileEditorManager implements B
   /**
    * Asynchronous version of {@link #getCurrentWindow()}. Execution happens after focus settle down. Can be invoked on any thread.
    */
   /**
    * Asynchronous version of {@link #getCurrentWindow()}. Execution happens after focus settle down. Can be invoked on any thread.
    */
-  @NotNull
-  public abstract Promise<EditorWindow> getActiveWindow();
+  public abstract @NotNull Promise<EditorWindow> getActiveWindow();
 
   public abstract void setCurrentWindow(EditorWindow window);
 
 
   public abstract void setCurrentWindow(EditorWindow window);
 
@@ -111,11 +107,9 @@ public abstract class FileEditorManagerEx extends FileEditorManager implements B
 
   public abstract boolean hasOpenedFile();
 
 
   public abstract boolean hasOpenedFile();
 
-  @Nullable
-  public abstract VirtualFile getCurrentFile();
+  public abstract @Nullable VirtualFile getCurrentFile();
 
 
-  @Nullable
-  public abstract FileEditorWithProvider getSelectedEditorWithProvider(@NotNull VirtualFile file);
+  public abstract @Nullable FileEditorWithProvider getSelectedEditorWithProvider(@NotNull VirtualFile file);
 
   /**
    * Closes all files IN ACTIVE SPLITTER (window).
 
   /**
    * Closes all files IN ACTIVE SPLITTER (window).
@@ -125,8 +119,7 @@ public abstract class FileEditorManagerEx extends FileEditorManager implements B
    */
   public abstract void closeAllFiles();
 
    */
   public abstract void closeAllFiles();
 
-  @NotNull
-  public abstract EditorsSplitters getSplitters();
+  public abstract @NotNull EditorsSplitters getSplitters();
 
   @Override
   public FileEditor @NotNull [] openFile(@NotNull VirtualFile file, boolean focusEditor) {
 
   @Override
   public FileEditor @NotNull [] openFile(@NotNull VirtualFile file, boolean focusEditor) {
@@ -138,27 +131,24 @@ public abstract class FileEditorManagerEx extends FileEditorManager implements B
     return openFileWithProviders(file, focusEditor, searchForOpen).getFirst();
   }
 
     return openFileWithProviders(file, focusEditor, searchForOpen).getFirst();
   }
 
-  @NotNull
-  public abstract Pair<FileEditor[],FileEditorProvider[]> openFileWithProviders(@NotNull VirtualFile file,
-                                                                                boolean focusEditor,
-                                                                                boolean searchForSplitter);
+  public abstract @NotNull Pair<FileEditor[],FileEditorProvider[]> openFileWithProviders(@NotNull VirtualFile file,
+                                                                                         boolean focusEditor,
+                                                                                         boolean searchForSplitter);
 
 
-  @NotNull
-  public abstract Pair<FileEditor[],FileEditorProvider[]> openFileWithProviders(@NotNull VirtualFile file,
-                                                                                boolean focusEditor,
-                                                                                @NotNull EditorWindow window);
+  public abstract @NotNull Pair<FileEditor[],FileEditorProvider[]> openFileWithProviders(@NotNull VirtualFile file,
+                                                                                         boolean focusEditor,
+                                                                                         @NotNull EditorWindow window);
 
   public abstract boolean isChanged(@NotNull EditorComposite editor);
 
 
   public abstract boolean isChanged(@NotNull EditorComposite editor);
 
-  public abstract EditorWindow getNextWindow(@NotNull final EditorWindow window);
+  public abstract EditorWindow getNextWindow(final @NotNull EditorWindow window);
 
 
-  public abstract EditorWindow getPrevWindow(@NotNull final EditorWindow window);
+  public abstract EditorWindow getPrevWindow(final @NotNull EditorWindow window);
 
   public abstract boolean isInsideChange();
 
   @Override
 
   public abstract boolean isInsideChange();
 
   @Override
-  @Nullable
-  public final Object getData(@NotNull String dataId, @NotNull Editor editor, @NotNull Caret caret) {
+  public final @Nullable Object getData(@NotNull String dataId, @NotNull Editor editor, @NotNull Caret caret) {
     for (final EditorDataProvider dataProvider : myDataProviders) {
       final Object o = dataProvider.getData(dataId, editor, caret);
       if (o != null) return o;
     for (final EditorDataProvider dataProvider : myDataProviders) {
       final Object o = dataProvider.getData(dataId, editor, caret);
       if (o != null) return o;
@@ -167,7 +157,7 @@ public abstract class FileEditorManagerEx extends FileEditorManager implements B
   }
 
   @Override
   }
 
   @Override
-  public void registerExtraEditorDataProvider(@NotNull final EditorDataProvider provider, Disposable parentDisposable) {
+  public void registerExtraEditorDataProvider(final @NotNull EditorDataProvider provider, Disposable parentDisposable) {
     myDataProviders.add(provider);
     if (parentDisposable != null) {
       Disposer.register(parentDisposable, () -> myDataProviders.remove(provider));
     myDataProviders.add(provider);
     if (parentDisposable != null) {
       Disposer.register(parentDisposable, () -> myDataProviders.remove(provider));
@@ -189,8 +179,7 @@ public abstract class FileEditorManagerEx extends FileEditorManager implements B
   public abstract EditorsSplitters getSplittersFor(Component c);
 
 
   public abstract EditorsSplitters getSplittersFor(Component c);
 
 
-  @NotNull
-  public abstract ActionCallback notifyPublisher(@NotNull Runnable runnable);
+  public abstract @NotNull ActionCallback notifyPublisher(@NotNull Runnable runnable);
 
   @Override
   public void runWhenLoaded(@NotNull Editor editor, @NotNull Runnable runnable) {
 
   @Override
   public void runWhenLoaded(@NotNull Editor editor, @NotNull Runnable runnable) {
index 0dc32e0aabeb5f175204e290bbe15bdace7a9cdd..52cf2341fbddb1221d3af9d3ec6c84aaa4394995 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
+// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
 package com.intellij.openapi.fileEditor.impl;
 
 import com.google.common.annotations.VisibleForTesting;
 package com.intellij.openapi.fileEditor.impl;
 
 import com.google.common.annotations.VisibleForTesting;
@@ -50,9 +50,7 @@ public final class EditorHistoryManager implements PersistentStateComponent<Elem
     myProject = project;
 
     MessageBusConnection connection = project.getMessageBus().connect();
     myProject = project;
 
     MessageBusConnection connection = project.getMessageBus().connect();
-
     connection.subscribe(UISettingsListener.TOPIC, uiSettings -> trimToSize());
     connection.subscribe(UISettingsListener.TOPIC, uiSettings -> trimToSize());
-
     connection.subscribe(FileEditorManagerListener.Before.FILE_EDITOR_MANAGER, new FileEditorManagerListener.Before() {
       @Override
       public void beforeFileClosed(@NotNull FileEditorManager source, @NotNull VirtualFile file) {
     connection.subscribe(FileEditorManagerListener.Before.FILE_EDITOR_MANAGER, new FileEditorManagerListener.Before() {
       @Override
       public void beforeFileClosed(@NotNull FileEditorManager source, @NotNull VirtualFile file) {
index baee901abb6420c976f3dace9f66d7894759fdb5..6fb92e3549dec081bdd3edcfcb5a261848d74a98 100644 (file)
@@ -241,13 +241,11 @@ public class FileEditorManagerImpl extends FileEditorManagerEx implements Persis
     return initUI();
   }
 
     return initUI();
   }
 
-  @NotNull
-  public EditorsSplitters getMainSplitters() {
+  public @NotNull EditorsSplitters getMainSplitters() {
     return initUI();
   }
 
     return initUI();
   }
 
-  @NotNull
-  public Set<EditorsSplitters> getAllSplitters() {
+  public @NotNull Set<EditorsSplitters> getAllSplitters() {
     Set<EditorsSplitters> all = new LinkedHashSet<>();
     all.add(getMainSplitters());
     Set<DockContainer> dockContainers = myDockManager.getContainers();
     Set<EditorsSplitters> all = new LinkedHashSet<>();
     all.add(getMainSplitters());
     Set<DockContainer> dockContainers = myDockManager.getContainers();
@@ -259,8 +257,7 @@ public class FileEditorManagerImpl extends FileEditorManagerEx implements Persis
     return Collections.unmodifiableSet(all);
   }
 
     return Collections.unmodifiableSet(all);
   }
 
-  @NotNull
-  private Promise<EditorsSplitters> getActiveSplittersAsync() {
+  private @NotNull Promise<EditorsSplitters> getActiveSplittersAsync() {
     AsyncPromise<EditorsSplitters> result = new AsyncPromise<>();
     IdeFocusManager fm = IdeFocusManager.getInstance(myProject);
     TransactionGuard.getInstance().assertWriteSafeContext(ModalityState.defaultModalityState());
     AsyncPromise<EditorsSplitters> result = new AsyncPromise<>();
     IdeFocusManager fm = IdeFocusManager.getInstance(myProject);
     TransactionGuard.getInstance().assertWriteSafeContext(ModalityState.defaultModalityState());
@@ -307,8 +304,7 @@ public class FileEditorManagerImpl extends FileEditorManagerEx implements Persis
 
   private final Object myInitLock = new Object();
 
 
   private final Object myInitLock = new Object();
 
-  @NotNull
-  private EditorsSplitters initUI() {
+  private @NotNull EditorsSplitters initUI() {
     EditorsSplitters result = mySplitters;
     if (result != null) {
       return result;
     EditorsSplitters result = mySplitters;
     if (result != null) {
       return result;
@@ -355,8 +351,7 @@ public class FileEditorManagerImpl extends FileEditorManagerEx implements Persis
     return false;
   }
 
     return false;
   }
 
-  @NotNull
-  public String getFileTooltipText(@NotNull VirtualFile file) {
+  public @NotNull String getFileTooltipText(@NotNull VirtualFile file) {
     List<EditorTabTitleProvider> availableProviders = DumbService.getDumbAwareExtensions(myProject, EditorTabTitleProvider.EP_NAME);
     for (EditorTabTitleProvider provider : availableProviders) {
       String text = provider.getEditorTabTooltipText(myProject, file);
     List<EditorTabTitleProvider> availableProviders = DumbService.getDumbAwareExtensions(myProject, EditorTabTitleProvider.EP_NAME);
     for (EditorTabTitleProvider provider : availableProviders) {
       String text = provider.getEditorTabTooltipText(myProject, file);
@@ -540,8 +535,7 @@ public class FileEditorManagerImpl extends FileEditorManagerEx implements Persis
   }
 
   @Override
   }
 
   @Override
-  @NotNull
-  public Promise<EditorWindow> getActiveWindow() {
+  public @NotNull Promise<EditorWindow> getActiveWindow() {
     return getActiveSplittersAsync()
       .then(EditorsSplitters::getCurrentWindow);
   }
     return getActiveSplittersAsync()
       .then(EditorsSplitters::getCurrentWindow);
   }
@@ -597,10 +591,9 @@ public class FileEditorManagerImpl extends FileEditorManagerEx implements Persis
   //-------------------------------------- Open File ----------------------------------------
 
   @Override
   //-------------------------------------- Open File ----------------------------------------
 
   @Override
-  @NotNull
-  public Pair<FileEditor[], FileEditorProvider[]> openFileWithProviders(@NotNull VirtualFile file,
-                                                                        boolean focusEditor,
-                                                                        boolean searchForSplitter) {
+  public @NotNull Pair<FileEditor[], FileEditorProvider[]> openFileWithProviders(@NotNull VirtualFile file,
+                                                                                 boolean focusEditor,
+                                                                                 boolean searchForSplitter) {
     if (!file.isValid()) {
       throw new IllegalArgumentException("file is not valid: " + file);
     }
     if (!file.isValid()) {
       throw new IllegalArgumentException("file is not valid: " + file);
     }
@@ -691,11 +684,10 @@ public class FileEditorManagerImpl extends FileEditorManagerEx implements Persis
     }
   }
 
     }
   }
 
-  @NotNull
   @Override
   @Override
-  public Pair<FileEditor[], FileEditorProvider[]> openFileWithProviders(@NotNull VirtualFile file,
-                                                                        boolean focusEditor,
-                                                                        @NotNull EditorWindow window) {
+  public @NotNull Pair<FileEditor[], FileEditorProvider[]> openFileWithProviders(@NotNull VirtualFile file,
+                                                                                 boolean focusEditor,
+                                                                                 @NotNull EditorWindow window) {
     if (!file.isValid()) {
       throw new IllegalArgumentException("file is not valid: " + file);
     }
     if (!file.isValid()) {
       throw new IllegalArgumentException("file is not valid: " + file);
     }
@@ -704,10 +696,9 @@ public class FileEditorManagerImpl extends FileEditorManagerEx implements Persis
     return openFileImpl2(window, file, focusEditor);
   }
 
     return openFileImpl2(window, file, focusEditor);
   }
 
-  @NotNull
-  public Pair<FileEditor[], FileEditorProvider[]> openFileImpl2(@NotNull EditorWindow window,
-                                                                @NotNull VirtualFile file,
-                                                                boolean focusEditor) {
+  public @NotNull Pair<FileEditor[], FileEditorProvider[]> openFileImpl2(@NotNull EditorWindow window,
+                                                                         @NotNull VirtualFile file,
+                                                                         boolean focusEditor) {
     Ref<Pair<FileEditor[], FileEditorProvider[]>> result = new Ref<>();
     CommandProcessor.getInstance().executeCommand(myProject, () -> result.set(openFileImpl3(window, file, focusEditor, null)), "", null);
     return result.get();
     Ref<Pair<FileEditor[], FileEditorProvider[]>> result = new Ref<>();
     CommandProcessor.getInstance().executeCommand(myProject, () -> result.set(openFileImpl3(window, file, focusEditor, null)), "", null);
     return result.get();
@@ -721,8 +712,7 @@ public class FileEditorManagerImpl extends FileEditorManagerEx implements Persis
    *                passed file is valid.
    * @param entry   map between FileEditorProvider and FileEditorState. If this parameter
    */
    *                passed file is valid.
    * @param entry   map between FileEditorProvider and FileEditorState. If this parameter
    */
-  @NotNull
-  Pair.NonNull<FileEditor[], FileEditorProvider[]> openFileImpl3(@NotNull EditorWindow window,
+  @NotNull Pair<FileEditor[], FileEditorProvider[]> openFileImpl3(@NotNull EditorWindow window,
                                                                  @NotNull VirtualFile file,
                                                                  boolean focusEditor,
                                                                  @Nullable HistoryEntry entry) {
                                                                  @NotNull VirtualFile file,
                                                                  boolean focusEditor,
                                                                  @Nullable HistoryEntry entry) {
@@ -732,10 +722,10 @@ public class FileEditorManagerImpl extends FileEditorManagerEx implements Persis
   /**
    * This method can be invoked from background thread. Of course, UI for returned editors should be accessed from EDT in any case.
    */
   /**
    * This method can be invoked from background thread. Of course, UI for returned editors should be accessed from EDT in any case.
    */
-  protected @NotNull Pair.NonNull<FileEditor[], FileEditorProvider[]> openFileImpl4(@NotNull EditorWindow window,
-                                                                                    @NotNull VirtualFile file,
-                                                                                    @Nullable HistoryEntry entry,
-                                                                                    @NotNull FileEditorOpenOptions options) {
+  protected @NotNull Pair<FileEditor @NotNull [], FileEditorProvider @NotNull []> openFileImpl4(@NotNull EditorWindow window,
+                                                                                                @NotNull VirtualFile file,
+                                                                                                @Nullable HistoryEntry entry,
+                                                                                                @NotNull FileEditorOpenOptions options) {
     assert ApplicationManager.getApplication().isDispatchThread() || !ApplicationManager.getApplication().isReadAccessAllowed() : "must not open files under read action since we are doing a lot of invokeAndWaits here";
 
     Ref<EditorWithProviderComposite> compositeRef = new Ref<>();
     assert ApplicationManager.getApplication().isDispatchThread() || !ApplicationManager.getApplication().isReadAccessAllowed() : "must not open files under read action since we are doing a lot of invokeAndWaits here";
 
     Ref<EditorWithProviderComposite> compositeRef = new Ref<>();
@@ -780,12 +770,14 @@ public class FileEditorManagerImpl extends FileEditorManagerEx implements Persis
       builders = null;
     }
 
       builders = null;
     }
 
-    ApplicationManager.getApplication().invokeAndWait(() ->
-       runBulkTabChange(window.getOwner(), splitters ->
-         openFileImpl4Edt(window, file, entry, options, compositeRef, newProviders, builders)));
+    ApplicationManager.getApplication().invokeAndWait(() -> {
+      runBulkTabChange(window.getOwner(), splitters -> {
+        openFileImpl4Edt(window, file, entry, options, compositeRef, newProviders, builders);
+      });
+    });
 
     EditorWithProviderComposite composite = compositeRef.get();
 
     EditorWithProviderComposite composite = compositeRef.get();
-    return Pair.createNonNull(composite == null ? FileEditor.EMPTY_ARRAY : composite.getEditors(),
+    return new Pair<>(composite == null ? FileEditor.EMPTY_ARRAY : composite.getEditors(),
                               composite == null ? EMPTY_PROVIDER_ARRAY : composite.getProviders());
   }
 
                               composite == null ? EMPTY_PROVIDER_ARRAY : composite.getProviders());
   }
 
@@ -921,9 +913,8 @@ public class FileEditorManagerImpl extends FileEditorManagerEx implements Persis
     }
   }
 
     }
   }
 
-  @Nullable
-  private EditorWithProviderComposite createComposite(@NotNull VirtualFile file,
-                                                      FileEditor @NotNull [] editors, FileEditorProvider @NotNull [] providers) {
+  private @Nullable EditorWithProviderComposite createComposite(@NotNull VirtualFile file,
+                                                                FileEditor @NotNull [] editors, FileEditorProvider @NotNull [] providers) {
     if (ArrayUtil.contains(null, editors) || ArrayUtil.contains(null, providers)) {
       List<FileEditor> editorList = new ArrayList<>(editors.length);
       List<FileEditorProvider> providerList = new ArrayList<>(providers.length);
     if (ArrayUtil.contains(null, editors) || ArrayUtil.contains(null, providers)) {
       List<FileEditor> editorList = new ArrayList<>(editors.length);
       List<FileEditorProvider> providerList = new ArrayList<>(providers.length);
@@ -969,15 +960,13 @@ public class FileEditorManagerImpl extends FileEditorManagerEx implements Persis
     }
   }
 
     }
   }
 
-  @NotNull
   @Override
   @Override
-  public ActionCallback notifyPublisher(@NotNull Runnable runnable) {
+  public @NotNull ActionCallback notifyPublisher(@NotNull Runnable runnable) {
     IdeFocusManager focusManager = IdeFocusManager.getInstance(myProject);
     ActionCallback done = new ActionCallback();
     return myBusyObject.execute(new ActiveRunnable() {
     IdeFocusManager focusManager = IdeFocusManager.getInstance(myProject);
     ActionCallback done = new ActionCallback();
     return myBusyObject.execute(new ActiveRunnable() {
-      @NotNull
       @Override
       @Override
-      public ActionCallback run() {
+      public @NotNull ActionCallback run() {
         focusManager.doWhenFocusSettlesDown(ExpirableRunnable.forProject(myProject, () -> {
           runnable.run();
           done.setDone();
         focusManager.doWhenFocusSettlesDown(ExpirableRunnable.forProject(myProject, () -> {
           runnable.run();
           done.setDone();
@@ -1047,8 +1036,7 @@ public class FileEditorManagerImpl extends FileEditorManagerEx implements Persis
   }
 
   @Override
   }
 
   @Override
-  @NotNull
-  public List<FileEditor> openEditor(@NotNull OpenFileDescriptor descriptor, boolean focusEditor) {
+  public @NotNull List<FileEditor> openEditor(@NotNull OpenFileDescriptor descriptor, boolean focusEditor) {
     return openEditorImpl(descriptor, focusEditor).first;
   }
 
     return openEditorImpl(descriptor, focusEditor).first;
   }
 
@@ -1128,20 +1116,17 @@ public class FileEditorManagerImpl extends FileEditorManagerEx implements Persis
   }
 
   @Override
   }
 
   @Override
-  @NotNull
-  public Project getProject() {
+  public @NotNull Project getProject() {
     return myProject;
   }
 
   @Override
     return myProject;
   }
 
   @Override
-  @Nullable
-  public Editor openTextEditor(@NotNull OpenFileDescriptor descriptor, boolean focusEditor) {
+  public @Nullable Editor openTextEditor(@NotNull OpenFileDescriptor descriptor, boolean focusEditor) {
     TextEditor textEditor = doOpenTextEditor(descriptor, focusEditor);
     return textEditor == null ? null : textEditor.getEditor();
   }
 
     TextEditor textEditor = doOpenTextEditor(descriptor, focusEditor);
     return textEditor == null ? null : textEditor.getEditor();
   }
 
-  @Nullable
-  private TextEditor doOpenTextEditor(@NotNull OpenFileDescriptor descriptor, boolean focusEditor) {
+  private @Nullable TextEditor doOpenTextEditor(@NotNull OpenFileDescriptor descriptor, boolean focusEditor) {
     Pair<List<FileEditor>, FileEditor> editorsWithSelected = openEditorImpl(descriptor, focusEditor);
     Collection<FileEditor> fileEditors = editorsWithSelected.first;
     FileEditor selectedEditor = editorsWithSelected.second;
     Pair<List<FileEditor>, FileEditor> editorsWithSelected = openEditorImpl(descriptor, focusEditor);
     Collection<FileEditor> fileEditors = editorsWithSelected.first;
     FileEditor selectedEditor = editorsWithSelected.second;
@@ -1239,16 +1224,14 @@ public class FileEditorManagerImpl extends FileEditorManagerEx implements Persis
   }
 
   @Override
   }
 
   @Override
-  @NotNull
-  public EditorsSplitters getSplitters() {
+  public @NotNull EditorsSplitters getSplitters() {
     EditorsSplitters active = null;
     if (ApplicationManager.getApplication().isDispatchThread()) active = getActiveSplittersSync();
     return active == null ? getMainSplitters() : active;
   }
 
     EditorsSplitters active = null;
     if (ApplicationManager.getApplication().isDispatchThread()) active = getActiveSplittersSync();
     return active == null ? getMainSplitters() : active;
   }
 
-  @Nullable
   @Override
   @Override
-  public FileEditor getSelectedEditor() {
+  public @Nullable FileEditor getSelectedEditor() {
     EditorWindow window = getSplitters().getCurrentWindow();
     if (window != null) {
       EditorComposite selected = window.getSelectedEditor();
     EditorWindow window = getSplitters().getCurrentWindow();
     if (window != null) {
       EditorComposite selected = window.getSelectedEditor();
@@ -1258,16 +1241,14 @@ public class FileEditorManagerImpl extends FileEditorManagerEx implements Persis
   }
 
   @Override
   }
 
   @Override
-  @Nullable
-  public FileEditor getSelectedEditor(@NotNull VirtualFile file) {
+  public @Nullable FileEditor getSelectedEditor(@NotNull VirtualFile file) {
     FileEditorWithProvider editorWithProvider = getSelectedEditorWithProvider(file);
     return editorWithProvider == null ? null : editorWithProvider.getFileEditor();
   }
 
 
   @Override
     FileEditorWithProvider editorWithProvider = getSelectedEditorWithProvider(file);
     return editorWithProvider == null ? null : editorWithProvider.getFileEditor();
   }
 
 
   @Override
-  @Nullable
-  public FileEditorWithProvider getSelectedEditorWithProvider(@NotNull VirtualFile file) {
+  public @Nullable FileEditorWithProvider getSelectedEditorWithProvider(@NotNull VirtualFile file) {
     ApplicationManager.getApplication().assertIsDispatchThread();
     if (file instanceof VirtualFileWindow) file = ((VirtualFileWindow)file).getDelegate();
     file = BackedVirtualFile.getOriginFileIfBacked(file);
     ApplicationManager.getApplication().assertIsDispatchThread();
     if (file instanceof VirtualFileWindow) file = ((VirtualFileWindow)file).getDelegate();
     file = BackedVirtualFile.getOriginFileIfBacked(file);
@@ -1281,8 +1262,7 @@ public class FileEditorManagerImpl extends FileEditorManagerEx implements Persis
   }
 
   @Override
   }
 
   @Override
-  @NotNull
-  public Pair<FileEditor[], FileEditorProvider[]> getEditorsWithProviders(@NotNull VirtualFile file) {
+  public @NotNull Pair<FileEditor[], FileEditorProvider[]> getEditorsWithProviders(@NotNull VirtualFile file) {
     ApplicationManager.getApplication().assertIsDispatchThread();
     EditorWithProviderComposite composite = getCurrentEditorWithProviderComposite(file);
     if (composite != null) {
     ApplicationManager.getApplication().assertIsDispatchThread();
     EditorWithProviderComposite composite = getCurrentEditorWithProviderComposite(file);
     if (composite != null) {
@@ -1323,8 +1303,7 @@ public class FileEditorManagerImpl extends FileEditorManagerEx implements Persis
     return result.toArray(FileEditor.EMPTY_ARRAY);
   }
 
     return result.toArray(FileEditor.EMPTY_ARRAY);
   }
 
-  @Nullable
-  private EditorWithProviderComposite getCurrentEditorWithProviderComposite(@NotNull VirtualFile virtualFile) {
+  private @Nullable EditorWithProviderComposite getCurrentEditorWithProviderComposite(@NotNull VirtualFile virtualFile) {
     EditorWindow editorWindow = getSplitters().getCurrentWindow();
     if (editorWindow != null) {
       return editorWindow.findFileComposite(virtualFile);
     EditorWindow editorWindow = getSplitters().getCurrentWindow();
     if (editorWindow != null) {
       return editorWindow.findFileComposite(virtualFile);
@@ -1332,8 +1311,7 @@ public class FileEditorManagerImpl extends FileEditorManagerEx implements Persis
     return null;
   }
 
     return null;
   }
 
-  @NotNull
-  private List<EditorWithProviderComposite> getEditorComposites(@NotNull VirtualFile file) {
+  private @NotNull List<EditorWithProviderComposite> getEditorComposites(@NotNull VirtualFile file) {
     List<EditorWithProviderComposite> result = new ArrayList<>();
     Set<EditorsSplitters> all = getAllSplitters();
     for (EditorsSplitters each : all) {
     List<EditorWithProviderComposite> result = new ArrayList<>();
     Set<EditorsSplitters> all = getAllSplitters();
     for (EditorsSplitters each : all) {
@@ -1350,8 +1328,7 @@ public class FileEditorManagerImpl extends FileEditorManagerEx implements Persis
   }
 
 
   }
 
 
-  @NotNull
-  public List<JComponent> getTopComponents(@NotNull FileEditor editor) {
+  public @NotNull List<JComponent> getTopComponents(@NotNull FileEditor editor) {
     ApplicationManager.getApplication().assertIsDispatchThread();
     EditorComposite composite = getEditorComposite(editor);
     return composite != null ? composite.getTopComponents(editor) : Collections.emptyList();
     ApplicationManager.getApplication().assertIsDispatchThread();
     EditorComposite composite = getEditorComposite(editor);
     return composite != null ? composite.getTopComponents(editor) : Collections.emptyList();
@@ -1446,9 +1423,8 @@ public class FileEditorManagerImpl extends FileEditorManagerEx implements Persis
     });
   }
 
     });
   }
 
-  @Nullable
   @Override
   @Override
-  public Element getState() {
+  public @Nullable Element getState() {
     if (mySplitters == null) {
       // do not save if not initialized yet
       return null;
     if (mySplitters == null) {
       // do not save if not initialized yet
       return null;
@@ -1464,8 +1440,7 @@ public class FileEditorManagerImpl extends FileEditorManagerEx implements Persis
     getMainSplitters().readExternal(state);
   }
 
     getMainSplitters().readExternal(state);
   }
 
-  @Nullable
-  private EditorWithProviderComposite getEditorComposite(@NotNull FileEditor editor) {
+  private @Nullable EditorWithProviderComposite getEditorComposite(@NotNull FileEditor editor) {
     for (EditorsSplitters splitters : getAllSplitters()) {
       List<EditorWithProviderComposite> editorsComposites = splitters.getEditorComposites();
       for (int i = editorsComposites.size() - 1; i >= 0; i--) {
     for (EditorsSplitters splitters : getAllSplitters()) {
       List<EditorWithProviderComposite> editorsComposites = splitters.getEditorComposites();
       for (int i = editorsComposites.size() - 1; i >= 0; i--) {
@@ -1524,8 +1499,7 @@ public class FileEditorManagerImpl extends FileEditorManagerEx implements Persis
     }
   }
 
     }
   }
 
-  @NotNull
-  private static Trinity<VirtualFile, FileEditor, FileEditorProvider> extract(@Nullable EditorComposite composite) {
+  private static @NotNull Trinity<VirtualFile, FileEditor, FileEditorProvider> extract(@Nullable EditorComposite composite) {
     VirtualFile file;
     FileEditor editor;
     FileEditorProvider provider;
     VirtualFile file;
     FileEditor editor;
     FileEditorProvider provider;
@@ -1585,8 +1559,7 @@ public class FileEditorManagerImpl extends FileEditorManagerEx implements Persis
     Disposer.dispose(editor);
   }
 
     Disposer.dispose(editor);
   }
 
-  @Nullable
-  private EditorComposite getLastSelected() {
+  private @Nullable EditorComposite getLastSelected() {
     EditorWindow currentWindow = getActiveSplittersSync().getCurrentWindow();
     if (currentWindow != null) {
       return currentWindow.getSelectedEditor();
     EditorWindow currentWindow = getActiveSplittersSync().getCurrentWindow();
     if (currentWindow != null) {
       return currentWindow.getSelectedEditor();
@@ -1944,8 +1917,7 @@ public class FileEditorManagerImpl extends FileEditorManagerEx implements Persis
     return splitters;
   }
 
     return splitters;
   }
 
-  @NotNull
-  public List<Pair<VirtualFile, EditorWindow>> getSelectionHistory() {
+  public @NotNull List<Pair<VirtualFile, EditorWindow>> getSelectionHistory() {
     List<Pair<VirtualFile, EditorWindow>> copy = new ArrayList<>();
     for (Pair<VirtualFile, EditorWindow> pair : mySelectionHistory) {
       if (pair.second.getFiles().length == 0) {
     List<Pair<VirtualFile, EditorWindow>> copy = new ArrayList<>();
     for (Pair<VirtualFile, EditorWindow> pair : mySelectionHistory) {
       if (pair.second.getFiles().length == 0) {
@@ -1978,9 +1950,8 @@ public class FileEditorManagerImpl extends FileEditorManagerEx implements Persis
     updateFileName(file);
   }
 
     updateFileName(file);
   }
 
-  @NotNull
   @Override
   @Override
-  public ActionCallback getReady(@NotNull Object requestor) {
+  public @NotNull ActionCallback getReady(@NotNull Object requestor) {
     return myBusyObject.getReady(requestor);
   }
 }
     return myBusyObject.getReady(requestor);
   }
 }
index c40919c6eea0f80ccbe1d43a18cdcacb06e479f5..4e42877d13ff3fb0a096ef6f390d50132f68b2fa 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
+// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
 package com.intellij.openapi.fileEditor.impl.text;
 
 import com.intellij.openapi.Disposable;
 package com.intellij.openapi.fileEditor.impl.text;
 
 import com.intellij.openapi.Disposable;
@@ -40,9 +40,9 @@ public class EditorHighlighterUpdater {
     myProject = project;
     myEditor = editor;
     myFile = file;
     myProject = project;
     myEditor = editor;
     myFile = file;
-    MessageBusConnection myConnection = project.getMessageBus().connect(parentDisposable);
-    myConnection.subscribe(FileTypeManager.TOPIC, new MyFileTypeListener());
-    myConnection.subscribe(DumbService.DUMB_MODE, new DumbService.DumbModeListener() {
+    MessageBusConnection connection = project.getMessageBus().connect(parentDisposable);
+    connection.subscribe(FileTypeManager.TOPIC, new MyFileTypeListener());
+    connection.subscribe(DumbService.DUMB_MODE, new DumbService.DumbModeListener() {
       @Override
       public void enteredDumbMode() {
         updateHighlighters();
       @Override
       public void enteredDumbMode() {
         updateHighlighters();
index dad6e156f54e5a711b989a06eded316933ae9225..2772e424cf1df7e62f1e45b7309e0f8d6f6e6d47 100644 (file)
@@ -17,7 +17,7 @@ import java.util.function.Function;
  * needed again if it's still running. Function results should be ready for concurrent access, preferably thread-safe.
  */
 @ApiStatus.Internal
  * needed again if it's still running. Function results should be ready for concurrent access, preferably thread-safe.
  */
 @ApiStatus.Internal
-public class DiskQueryRelay<Param, Result> {
+public final class DiskQueryRelay<Param, Result> {
   private final @NotNull Function<? super Param, ? extends Result> myFunction;
 
   /**
   private final @NotNull Function<? super Param, ? extends Result> myFunction;
 
   /**
index 1c81bd91b3f6ad89d9482b135bc15dd6db9c49f3..93c9448e627c67ce2e19fa5f265d2d978e869e97 100644 (file)
@@ -105,8 +105,7 @@ public class FileEditorManagerTest extends FileEditorManagerTestCase {
   }
 
   public void testOpenRecentEditorTab() throws Exception {
   }
 
   public void testOpenRecentEditorTab() throws Exception {
-    FileEditorProvider.EP_FILE_EDITOR_PROVIDER
-      .getPoint(null).registerExtension(new MyFileEditorProvider(), myFixture.getTestRootDisposable());
+    FileEditorProvider.EP_FILE_EDITOR_PROVIDER.getPoint().registerExtension(new MyFileEditorProvider(), myFixture.getTestRootDisposable());
 
     openFiles("  <component name=\"FileEditorManager\">\n" +
               "    <leaf>\n" +
 
     openFiles("  <component name=\"FileEditorManager\">\n" +
               "    <leaf>\n" +
@@ -128,8 +127,7 @@ public class FileEditorManagerTest extends FileEditorManagerTestCase {
   }
 
   public void testTrackSelectedEditor() {
   }
 
   public void testTrackSelectedEditor() {
-    FileEditorProvider.EP_FILE_EDITOR_PROVIDER
-      .getPoint(null).registerExtension(new MyFileEditorProvider(), myFixture.getTestRootDisposable());
+    FileEditorProvider.EP_FILE_EDITOR_PROVIDER.getPoint().registerExtension(new MyFileEditorProvider(), myFixture.getTestRootDisposable());
     VirtualFile file = getFile("/src/1.txt");
     assertNotNull(file);
     FileEditor[] editors = myManager.openFile(file, true);
     VirtualFile file = getFile("/src/1.txt");
     assertNotNull(file);
     FileEditor[] editors = myManager.openFile(file, true);
@@ -213,9 +211,8 @@ public class FileEditorManagerTest extends FileEditorManagerTestCase {
   }
 
   public void testOpenInDumbMode() {
   }
 
   public void testOpenInDumbMode() {
-    FileEditorProvider.EP_FILE_EDITOR_PROVIDER
-      .getPoint(null).registerExtension(new MyFileEditorProvider(), myFixture.getTestRootDisposable());
-    FileEditorProvider.EP_FILE_EDITOR_PROVIDER.getPoint(null).registerExtension(new DumbAwareProvider(), myFixture.getTestRootDisposable());
+    FileEditorProvider.EP_FILE_EDITOR_PROVIDER.getPoint().registerExtension(new MyFileEditorProvider(), myFixture.getTestRootDisposable());
+    FileEditorProvider.EP_FILE_EDITOR_PROVIDER.getPoint().registerExtension(new DumbAwareProvider(), myFixture.getTestRootDisposable());
     try {
       DumbServiceImpl.getInstance(getProject()).setDumb(true);
       VirtualFile file = getFile("/src/foo.bar");
     try {
       DumbServiceImpl.getInstance(getProject()).setDumb(true);
       VirtualFile file = getFile("/src/foo.bar");
@@ -231,9 +228,9 @@ public class FileEditorManagerTest extends FileEditorManagerTestCase {
   }
 
   public void testOpenSpecificTextEditor() {
   }
 
   public void testOpenSpecificTextEditor() {
-    FileEditorProvider.EP_FILE_EDITOR_PROVIDER.getPoint(null)
+    FileEditorProvider.EP_FILE_EDITOR_PROVIDER.getPoint()
       .registerExtension(new MyTextEditorProvider("one", 1), myFixture.getTestRootDisposable());
       .registerExtension(new MyTextEditorProvider("one", 1), myFixture.getTestRootDisposable());
-    FileEditorProvider.EP_FILE_EDITOR_PROVIDER.getPoint(null)
+    FileEditorProvider.EP_FILE_EDITOR_PROVIDER.getPoint()
       .registerExtension(new MyTextEditorProvider("two", 2), myFixture.getTestRootDisposable());
     Project project = getProject();
     VirtualFile file = getFile("/src/Test.java");
       .registerExtension(new MyTextEditorProvider("two", 2), myFixture.getTestRootDisposable());
     Project project = getProject();
     VirtualFile file = getFile("/src/Test.java");
@@ -344,7 +341,7 @@ public class FileEditorManagerTest extends FileEditorManagerTestCase {
     }
   }
 
     }
   }
 
-  private static class MyTextEditorProvider implements FileEditorProvider, DumbAware {
+  private static final class MyTextEditorProvider implements FileEditorProvider, DumbAware {
     private final String myId;
     private final int myTargetOffset;
 
     private final String myId;
     private final int myTargetOffset;
 
@@ -377,7 +374,7 @@ public class FileEditorManagerTest extends FileEditorManagerTestCase {
     }
   }
 
     }
   }
 
-  private static class MyTextEditor extends Mock.MyFileEditor implements TextEditor {
+  private static final class MyTextEditor extends Mock.MyFileEditor implements TextEditor {
     private final Editor myEditor;
     private final String myName;
     private final int myTargetOffset;
     private final Editor myEditor;
     private final String myName;
     private final int myTargetOffset;
index 0776af13293eea328985d8cd0fae13501100dd31..d5c23a191745cb8e0b1e1cb9feb3a13a39df0625 100644 (file)
@@ -19,7 +19,7 @@ import java.nio.file.Path;
  */
 @ApiStatus.NonExtendable
 public abstract class ProjectManager {
  */
 @ApiStatus.NonExtendable
 public abstract class ProjectManager {
-  public static final Topic<ProjectManagerListener> TOPIC = new Topic<>("Project open and close events", ProjectManagerListener.class);
+  public static final Topic<ProjectManagerListener> TOPIC = new Topic<>(ProjectManagerListener.class);
 
   /**
    * @return {@code ProjectManager} instance
 
   /**
    * @return {@code ProjectManager} instance
index 11c66c36871f16eb4c24ed1503c1173baf2234e3..83601c13ef30578090553df495df7ba3d76de277 100644 (file)
@@ -1,9 +1,9 @@
-// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
+// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
 package com.intellij.openapi.projectRoots;
 
 import com.intellij.openapi.Disposable;
 package com.intellij.openapi.projectRoots;
 
 import com.intellij.openapi.Disposable;
+import com.intellij.openapi.application.ApplicationManager;
 import com.intellij.openapi.application.WriteAction;
 import com.intellij.openapi.application.WriteAction;
-import com.intellij.openapi.components.ServiceManager;
 import com.intellij.openapi.util.Comparing;
 import com.intellij.openapi.util.Condition;
 import com.intellij.openapi.util.Disposer;
 import com.intellij.openapi.util.Comparing;
 import com.intellij.openapi.util.Condition;
 import com.intellij.openapi.util.Disposer;
@@ -19,22 +19,18 @@ import java.util.List;
 @ApiStatus.NonExtendable
 public abstract class ProjectJdkTable {
   public static ProjectJdkTable getInstance() {
 @ApiStatus.NonExtendable
 public abstract class ProjectJdkTable {
   public static ProjectJdkTable getInstance() {
-    return ServiceManager.getService(ProjectJdkTable.class);
+    return ApplicationManager.getApplication().getService(ProjectJdkTable.class);
   }
 
   }
 
-  @Nullable
-  public abstract Sdk findJdk(@NotNull String name);
+  public abstract @Nullable Sdk findJdk(@NotNull String name);
 
 
-  @Nullable
-  public abstract Sdk findJdk(@NotNull String name, @NotNull String type);
+  public abstract @Nullable Sdk findJdk(@NotNull String name, @NotNull String type);
 
   public abstract Sdk @NotNull [] getAllJdks();
 
 
   public abstract Sdk @NotNull [] getAllJdks();
 
-  @NotNull
-  public abstract List<Sdk> getSdksOfType(@NotNull SdkTypeId type);
+  public abstract @NotNull List<Sdk> getSdksOfType(@NotNull SdkTypeId type);
 
 
-  @Nullable
-  public Sdk findMostRecentSdkOfType(@NotNull SdkTypeId type) {
+  public @Nullable Sdk findMostRecentSdkOfType(@NotNull SdkTypeId type) {
     return getSdksOfType(type).stream().max(type.versionComparator()).orElse(null);
   }
 
     return getSdksOfType(type).stream().max(type.versionComparator()).orElse(null);
   }
 
@@ -65,31 +61,33 @@ public abstract class ProjectJdkTable {
   public abstract void updateJdk(@NotNull Sdk originalJdk, @NotNull Sdk modifiedJdk);
 
   public interface Listener extends EventListener {
   public abstract void updateJdk(@NotNull Sdk originalJdk, @NotNull Sdk modifiedJdk);
 
   public interface Listener extends EventListener {
-    void jdkAdded(@NotNull Sdk jdk);
-    void jdkRemoved(@NotNull Sdk jdk);
-    void jdkNameChanged(@NotNull Sdk jdk, @NotNull String previousName);
+    default void jdkAdded(@NotNull Sdk jdk) {
+    }
+
+    default void jdkRemoved(@NotNull Sdk jdk) {
+    }
+
+    default void jdkNameChanged(@NotNull Sdk jdk, @NotNull String previousName) {
+    }
   }
 
   }
 
+  /**
+   * @deprecated Use {@link Listener} directly.
+   */
+  @Deprecated
   public static class Adapter implements Listener {
   public static class Adapter implements Listener {
-    @Override public void jdkAdded(@NotNull Sdk jdk) { }
-    @Override public void jdkRemoved(@NotNull Sdk jdk) { }
-    @Override public void jdkNameChanged(@NotNull Sdk jdk, @NotNull String previousName) { }
   }
 
   }
 
-  @NotNull
-  public abstract SdkTypeId getDefaultSdkType();
+  public abstract @NotNull SdkTypeId getDefaultSdkType();
 
 
-  @NotNull
-  public abstract SdkTypeId getSdkTypeByName(@NotNull String name);
+  public abstract @NotNull SdkTypeId getSdkTypeByName(@NotNull String name);
 
 
-  @NotNull
-  public abstract Sdk createSdk(@NotNull String name, @NotNull SdkTypeId sdkType);
+  public abstract @NotNull Sdk createSdk(@NotNull String name, @NotNull SdkTypeId sdkType);
 
   /**
    * This method may automatically detect Sdk if none are configured.
    */
   public void preconfigure() {
 
   /**
    * This method may automatically detect Sdk if none are configured.
    */
   public void preconfigure() {
-    
   }
 
   public static final Topic<Listener> JDK_TABLE_TOPIC = Topic.create("Project JDK table", Listener.class);
   }
 
   public static final Topic<Listener> JDK_TABLE_TOPIC = Topic.create("Project JDK table", Listener.class);
index 387211542b4aca9cd79dd2bd865442ea075132b3..725812ad58ee0949c61e20fc3d1b8a6dc7afb800 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
+// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
 package com.intellij.openapi.util;
 
 import com.intellij.util.Function;
 package com.intellij.openapi.util;
 
 import com.intellij.util.Function;
@@ -32,6 +32,7 @@ public class Pair<A, B> {
   @NotNull
   public static <A, B> Function<A, Pair<A, B>> createFunction(final B value) {
     return new Function<A, Pair<A, B>>() {
   @NotNull
   public static <A, B> Function<A, Pair<A, B>> createFunction(final B value) {
     return new Function<A, Pair<A, B>>() {
+      @Override
       public Pair<A, B> fun(A a) {
         return create(a, value);
       }
       public Pair<A, B> fun(A a) {
         return create(a, value);
       }
index a206246defa9fbf8cee026571cb8a30ba81e8fa9..2aa981e9712fd3a02b2ac3cafbc340865fb88a17 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
+// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
 package com.intellij.util.concurrency;
 
 import org.jetbrains.annotations.NotNull;
 package com.intellij.util.concurrency;
 
 import org.jetbrains.annotations.NotNull;
@@ -22,10 +22,9 @@ import java.util.concurrent.Executor;
  */
 public final class NonUrgentExecutor implements Executor {
   private static final NonUrgentExecutor ourInstance = new NonUrgentExecutor();
  */
 public final class NonUrgentExecutor implements Executor {
   private static final NonUrgentExecutor ourInstance = new NonUrgentExecutor();
-  private final Executor myBackend;
+  private final Executor myBackend = AppExecutorUtil.createBoundedApplicationPoolExecutor("NonUrgentExecutor", 2, false);
 
   private NonUrgentExecutor() {
 
   private NonUrgentExecutor() {
-    myBackend = AppExecutorUtil.createBoundedApplicationPoolExecutor("NonUrgentExecutor", 2, false);
   }
 
   @Override
   }
 
   @Override
@@ -33,8 +32,7 @@ public final class NonUrgentExecutor implements Executor {
     myBackend.execute(command);
   }
 
     myBackend.execute(command);
   }
 
-  @NotNull
-  public static NonUrgentExecutor getInstance() {
+  public static @NotNull NonUrgentExecutor getInstance() {
     return ourInstance;
   }
 }
     return ourInstance;
   }
 }
index 3257e14a2d825d2b75d851ba2963ded1ed8a49f8..da0e83396240744ee405476462af70796bd10fa6 100644 (file)
@@ -20,22 +20,20 @@ import java.lang.reflect.Method;
 import java.lang.reflect.Proxy;
 import java.util.*;
 
 import java.lang.reflect.Proxy;
 import java.util.*;
 
-public class EventDispatcher<T extends EventListener> {
+public final class EventDispatcher<T extends EventListener> {
   private static final Logger LOG = Logger.getInstance(EventDispatcher.class);
 
   private T myMulticaster;
 
   private final DisposableWrapperList<T> myListeners = new DisposableWrapperList<>();
   private static final Logger LOG = Logger.getInstance(EventDispatcher.class);
 
   private T myMulticaster;
 
   private final DisposableWrapperList<T> myListeners = new DisposableWrapperList<>();
-  @NotNull private final Class<T> myListenerClass;
-  @Nullable private final Map<String, Object> myMethodReturnValues;
+  private final @NotNull Class<T> myListenerClass;
+  private final @Nullable Map<String, Object> myMethodReturnValues;
 
 
-  @NotNull
-  public static <T extends EventListener> EventDispatcher<T> create(@NotNull Class<T> listenerClass) {
+  public static @NotNull <T extends EventListener> EventDispatcher<T> create(@NotNull Class<T> listenerClass) {
     return new EventDispatcher<>(listenerClass, null);
   }
 
     return new EventDispatcher<>(listenerClass, null);
   }
 
-  @NotNull
-  public static <T extends EventListener> EventDispatcher<T> create(@NotNull Class<T> listenerClass, @NotNull Map<String, Object> methodReturnValues) {
+  public static @NotNull <T extends EventListener> EventDispatcher<T> create(@NotNull Class<T> listenerClass, @NotNull Map<String, Object> methodReturnValues) {
     assertNonVoidMethodReturnValuesAreDeclared(methodReturnValues, listenerClass);
     return new EventDispatcher<>(listenerClass, methodReturnValues);
   }
     assertNonVoidMethodReturnValuesAreDeclared(methodReturnValues, listenerClass);
     return new EventDispatcher<>(listenerClass, methodReturnValues);
   }
@@ -72,10 +70,9 @@ public class EventDispatcher<T extends EventListener> {
     return createMulticaster(listenerClass, null, listeners);
   }
 
     return createMulticaster(listenerClass, null, listeners);
   }
 
-  @NotNull
-  static <T> T createMulticaster(@NotNull Class<T> listenerClass,
-                                 @Nullable Map<String, Object> methodReturnValues,
-                                 @NotNull Getter<? extends Iterable<T>> listeners) {
+  static @NotNull <T> T createMulticaster(@NotNull Class<T> listenerClass,
+                                          @Nullable Map<String, Object> methodReturnValues,
+                                          @NotNull Getter<? extends Iterable<T>> listeners) {
     LOG.assertTrue(listenerClass.isInterface(), "listenerClass must be an interface");
     InvocationHandler handler = new InvocationHandler() {
       @Override
     LOG.assertTrue(listenerClass.isInterface(), "listenerClass must be an interface");
     InvocationHandler handler = new InvocationHandler() {
       @Override
@@ -99,8 +96,7 @@ public class EventDispatcher<T extends EventListener> {
     return (T)Proxy.newProxyInstance(listenerClass.getClassLoader(), new Class[]{listenerClass}, handler);
   }
 
     return (T)Proxy.newProxyInstance(listenerClass.getClassLoader(), new Class[]{listenerClass}, handler);
   }
 
-  @Nullable
-  public static Object handleObjectMethod(Object proxy, Object[] args, String methodName) {
+  public static @Nullable Object handleObjectMethod(Object proxy, Object[] args, String methodName) {
     if (methodName.equals("toString")) {
       return "Multicaster";
     }
     if (methodName.equals("toString")) {
       return "Multicaster";
     }
@@ -116,8 +112,7 @@ public class EventDispatcher<T extends EventListener> {
     }
   }
 
     }
   }
 
-  @NotNull
-  public T getMulticaster() {
+  public @NotNull T getMulticaster() {
     T multicaster = myMulticaster;
     if (multicaster == null) {
       // benign race
     T multicaster = myMulticaster;
     if (multicaster == null) {
       // benign race
@@ -164,8 +159,7 @@ public class EventDispatcher<T extends EventListener> {
     return !myListeners.isEmpty();
   }
 
     return !myListeners.isEmpty();
   }
 
-  @NotNull
-  public List<T> getListeners() {
+  public @NotNull List<T> getListeners() {
     return myListeners;
   }
 
     return myListeners;
   }
 
index 11992d6153d12fcba5deca13f01509a823434100..8110d704562ea5bb3b60b3b7cbc86be9f1eff402 100644 (file)
@@ -1,18 +1,4 @@
-/*
- * Copyright 2000-2016 JetBrains s.r.o.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
 
 package com.intellij.util.concurrency;
 
 
 package com.intellij.util.concurrency;
 
@@ -28,7 +14,7 @@ import java.lang.reflect.Modifier;
  * - removed access check in getAndSet() hot path for performance
  * - new methods "forFieldXXX" added that search by field type instead of field name, which is useful in scrambled classes
  */
  * - removed access check in getAndSet() hot path for performance
  * - new methods "forFieldXXX" added that search by field type instead of field name, which is useful in scrambled classes
  */
-public class AtomicFieldUpdater<ContainingClass, FieldType> {
+public final class AtomicFieldUpdater<ContainingClass, FieldType> {
   private static final Unsafe unsafe;
   static {
     unsafe = ReflectionUtil.getStaticFieldValue(Unsafe.class, Unsafe.class, "theUnsafe");
   private static final Unsafe unsafe;
   static {
     unsafe = ReflectionUtil.getStaticFieldValue(Unsafe.class, Unsafe.class, "theUnsafe");
@@ -37,30 +23,25 @@ public class AtomicFieldUpdater<ContainingClass, FieldType> {
     }
   }
 
     }
   }
 
-  @NotNull
-  public static Unsafe getUnsafe() {
+  public static @NotNull Unsafe getUnsafe() {
     return unsafe;
   }
 
   private final long offset;
 
     return unsafe;
   }
 
   private final long offset;
 
-  @NotNull
-  public static <T, V> AtomicFieldUpdater<T, V> forFieldOfType(@NotNull Class<T> ownerClass, @NotNull Class<V> fieldType) {
+  public static @NotNull <T, V> AtomicFieldUpdater<T, V> forFieldOfType(@NotNull Class<T> ownerClass, @NotNull Class<V> fieldType) {
     return new AtomicFieldUpdater<>(ownerClass, fieldType);
   }
 
     return new AtomicFieldUpdater<>(ownerClass, fieldType);
   }
 
-  @NotNull
-  public static <T> AtomicFieldUpdater<T, Long> forLongFieldIn(@NotNull Class<T> ownerClass) {
+  public static @NotNull <T> AtomicFieldUpdater<T, Long> forLongFieldIn(@NotNull Class<T> ownerClass) {
     return new AtomicFieldUpdater<>(ownerClass, long.class);
   }
 
     return new AtomicFieldUpdater<>(ownerClass, long.class);
   }
 
-  @NotNull
-  public static <T> AtomicFieldUpdater<T, Integer> forIntFieldIn(@NotNull Class<T> ownerClass) {
+  public static @NotNull <T> AtomicFieldUpdater<T, Integer> forIntFieldIn(@NotNull Class<T> ownerClass) {
     return new AtomicFieldUpdater<>(ownerClass, int.class);
   }
 
     return new AtomicFieldUpdater<>(ownerClass, int.class);
   }
 
-  @NotNull
-  public static <O,E> AtomicFieldUpdater<O, E> forField(@NotNull Field field) {
+  public static @NotNull <O,E> AtomicFieldUpdater<O, E> forField(@NotNull Field field) {
     return new AtomicFieldUpdater<>(field);
   }
 
     return new AtomicFieldUpdater<>(field);
   }
 
index 33cdf512b2a66110fbc73ba1ddd574e85747e95c..12aab97fdf6128f926482445bb046eb5edaca709 100644 (file)
@@ -1,14 +1,12 @@
+// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
 package org.editorconfig.settings;
 
 import com.intellij.psi.codeStyle.CodeStyleSettings;
 import com.intellij.psi.codeStyle.CustomCodeStyleSettings;
 import com.intellij.util.messages.Topic;
 
 package org.editorconfig.settings;
 
 import com.intellij.psi.codeStyle.CodeStyleSettings;
 import com.intellij.psi.codeStyle.CustomCodeStyleSettings;
 import com.intellij.util.messages.Topic;
 
-/**
- * @author Dennis.Ushakov
- */
-public class EditorConfigSettings extends CustomCodeStyleSettings {
-  public static final Topic<EditorConfigListener> EDITOR_CONFIG_ENABLED_TOPIC = Topic.create("editor config changed", EditorConfigListener.class, Topic.BroadcastDirection.TO_CHILDREN);
+public final class EditorConfigSettings extends CustomCodeStyleSettings {
+  public static final Topic<EditorConfigListener> EDITOR_CONFIG_ENABLED_TOPIC = new Topic<>(EditorConfigListener.class);
   public boolean ENABLED = true;
 
   protected EditorConfigSettings(CodeStyleSettings container) {
   public boolean ENABLED = true;
 
   protected EditorConfigSettings(CodeStyleSettings container) {
index dd749f1813d8f1bbff6b751fa78826b81c6591b5..7710031ee98611e0c0ea57eeccb93cc09153fb78 100644 (file)
@@ -169,7 +169,7 @@ public class GradleSettings extends AbstractExternalSystemSettings<GradleSetting
     private boolean isOfflineMode = false;
 
     @Override
     private boolean isOfflineMode = false;
 
     @Override
-    @XCollection(elementTypes = {GradleProjectSettings.class})
+    @XCollection(elementTypes = GradleProjectSettings.class)
     public Set<GradleProjectSettings> getLinkedExternalProjectsSettings() {
       return myProjectSettings;
     }
     public Set<GradleProjectSettings> getLinkedExternalProjectsSettings() {
       return myProjectSettings;
     }
index 95d79ce21d8ad891c2df11373137f7ccbd4a7b5b..fa2096187adecb3d1b4d9ebf151211c75bb373e2 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
+// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
 package org.zmlx.hg4idea.status.ui;
 
 import com.intellij.dvcs.repo.VcsRepositoryManager;
 package org.zmlx.hg4idea.status.ui;
 
 import com.intellij.dvcs.repo.VcsRepositoryManager;
@@ -30,7 +30,7 @@ import javax.swing.*;
 import java.awt.event.MouseEvent;
 import java.util.Objects;
 
 import java.awt.event.MouseEvent;
 import java.util.Objects;
 
-public class HgIncomingOutgoingWidget extends EditorBasedWidget implements StatusBarWidget.IconPresentation, StatusBarWidget.Multiframe {
+final class HgIncomingOutgoingWidget extends EditorBasedWidget implements StatusBarWidget.IconPresentation, StatusBarWidget.Multiframe {
   private static final String INCOMING_WIDGET_ID = "InHgIncomingOutgoingWidget";
   private static final String OUTGOING_WIDGET_ID = "OutHgIncomingOutgoingWidget";
 
   private static final String INCOMING_WIDGET_ID = "InHgIncomingOutgoingWidget";
   private static final String OUTGOING_WIDGET_ID = "OutHgIncomingOutgoingWidget";
 
index 83ac607df6f757227809e8f9d9af71451bf7c11e..0512d7abcb8b935e07b4b646c7c3e945cbc23bde 100644 (file)
@@ -67,7 +67,7 @@ public class PythonSdkPathCache extends PythonPathCache implements Disposable {
     }
     Disposer.register(project, this);
     final MessageBusConnection connection = project.getMessageBus().connect(this);
     }
     Disposer.register(project, this);
     final MessageBusConnection connection = project.getMessageBus().connect(this);
-    connection.subscribe(ProjectJdkTable.JDK_TABLE_TOPIC, new ProjectJdkTable.Adapter() {
+    connection.subscribe(ProjectJdkTable.JDK_TABLE_TOPIC, new ProjectJdkTable.Listener() {
       @Override
       public void jdkRemoved(@NotNull Sdk jdk) {
         if (jdk == sdk) {
       @Override
       public void jdkRemoved(@NotNull Sdk jdk) {
         if (jdk == sdk) {