deprecate ServiceManager.getServiceIfCreated

GitOrigin-RevId: 8782ca7c14b947283b899977ccd8c8f0a3c8e3dc
This commit is contained in:
Vladimir Krivosheev
2020-04-22 17:30:45 +00:00
committed by intellij-monorepo-bot
parent c7b020bc66
commit ccdf7371b9
10 changed files with 61 additions and 149 deletions
@@ -24,13 +24,19 @@ public final class ServiceManager {
return project.getService(serviceClass);
}
@Nullable
public static <T> T getServiceIfCreated(@NotNull Project project, @NotNull Class<T> serviceClass) {
/**
* @deprecated Use {@link ComponentManager#getServiceIfCreated(Class)}.
*/
@Deprecated
public static @Nullable <T> T getServiceIfCreated(@NotNull Project project, @NotNull Class<T> serviceClass) {
return project.getServiceIfCreated(serviceClass);
}
@Nullable
public static <T> T getServiceIfCreated(@NotNull Class<T> serviceClass) {
/**
* @deprecated Use {@link ComponentManager#getServiceIfCreated(Class)}.
*/
@Deprecated
public static @Nullable <T> T getServiceIfCreated(@NotNull Class<T> serviceClass) {
return ApplicationManager.getApplication().getServiceIfCreated(serviceClass);
}
@@ -41,8 +47,7 @@ public final class ServiceManager {
* @param <T> Service class type.
* @return Key instance.
*/
@NotNull
public static <T> NotNullLazyKey<T, Project> createLazyKey(@NotNull final Class<? extends T> serviceClass) {
public static @NotNull <T> NotNullLazyKey<T, Project> createLazyKey(final @NotNull Class<? extends T> serviceClass) {
return NotNullLazyKey.create("Service: " + serviceClass.getName(), project -> project.getService(serviceClass));
}
}
@@ -3,7 +3,7 @@ package com.intellij.openapi.actionSystem;
import com.intellij.diagnostic.LoadingState;
import com.intellij.openapi.Disposable;
import com.intellij.openapi.components.ServiceManager;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.project.PossiblyDumbAware;
import com.intellij.openapi.project.Project;
@@ -13,7 +13,6 @@ import com.intellij.ui.ComponentUtil;
import com.intellij.util.SmartFMap;
import com.intellij.util.SmartList;
import org.intellij.lang.annotations.JdkConstants;
import org.jetbrains.annotations.Nls;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -326,7 +325,7 @@ public abstract class AnAction implements PossiblyDumbAware {
if (myShortcutSet != shortcutSet &&
myShortcutSet != CustomShortcutSet.EMPTY &&
LoadingState.PROJECT_OPENED.isOccurred()) {
ActionManager actionManager = ServiceManager.getServiceIfCreated(ActionManager.class);
ActionManager actionManager = ApplicationManager.getApplication().getServiceIfCreated(ActionManager.class);
if (actionManager != null && actionManager.getId(this) != null) {
LOG.warn("ShortcutSet of global AnActions should not be changed outside of KeymapManager.\n" +
"This is likely not what you wanted to do. Consider setting shortcut in keymap defaults, inheriting from other action " +
@@ -24,7 +24,6 @@ import com.intellij.openapi.actionSystem.IdeActions;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.command.CommandProcessor;
import com.intellij.openapi.command.WriteCommandAction;
import com.intellij.openapi.components.ServiceManager;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.editor.Caret;
import com.intellij.openapi.editor.Document;
@@ -527,7 +526,7 @@ public class CompletionProgressIndicator extends ProgressIndicatorBase implement
@TestOnly
public static void cleanupForNextTest() {
CompletionService completionService = ServiceManager.getServiceIfCreated(CompletionService.class);
CompletionService completionService = ApplicationManager.getApplication().getServiceIfCreated(CompletionService.class);
if (!(completionService instanceof CompletionServiceImpl)) {
return;
}
@@ -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;
@@ -50,7 +50,7 @@ public abstract class LookupManager {
public abstract void hideActiveLookup();
public static void hideActiveLookup(@NotNull Project project) {
LookupManager lookupManager = ServiceManager.getServiceIfCreated(project, LookupManager.class);
LookupManager lookupManager = project.getServiceIfCreated(LookupManager.class);
if (lookupManager != null) {
lookupManager.hideActiveLookup();
}
@@ -1514,7 +1514,7 @@ public final class IdeEventQueue extends EventQueue {
return false;
}
ActionManager actionManager = ServiceManager.getServiceIfCreated(ActionManager.class);
ActionManager actionManager = ApplicationManager.getApplication().getServiceIfCreated(ActionManager.class);
return actionManager instanceof ActionManagerImpl &&
!((ActionManagerImpl)actionManager).isActionPopupStackEmpty() &&
!((ActionManagerImpl)actionManager).isToolWindowContextMenuVisible();
@@ -27,24 +27,20 @@ import com.intellij.openapi.wm.impl.ProjectFrameHelper;
import com.intellij.util.ImageLoader;
import com.intellij.util.containers.ContainerUtil;
import com.intellij.util.ui.JBImageIcon;
import java.awt.Image;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.concurrent.ConcurrentHashMap;
import javax.swing.Icon;
import javax.swing.tree.DefaultMutableTreeNode;
import org.jdom.Element;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import javax.swing.*;
import javax.swing.tree.DefaultMutableTreeNode;
import java.awt.*;
import java.io.File;
import java.io.IOException;
import java.util.List;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
@State(name = "com.intellij.ide.ui.customization.CustomActionsSchema", storages = @Storage("customization.xml"))
public final class CustomActionsSchema implements PersistentStateComponent<Element> {
private static final Logger LOG = Logger.getInstance(CustomActionsSchema.class);
@@ -99,7 +95,7 @@ public final class CustomActionsSchema implements PersistentStateComponent<Eleme
ourAdditionalIdToName.put(itemId, itemName);
// Need to sync new items with global instance (if it has been created)
CustomActionsSchema customActionSchema = ServiceManager.getServiceIfCreated(CustomActionsSchema.class);
CustomActionsSchema customActionSchema = ApplicationManager.getApplication().getServiceIfCreated(CustomActionsSchema.class);
if (customActionSchema != null) {
customActionSchema.myIdToName.put(itemId, itemName);
}
@@ -109,7 +105,7 @@ public final class CustomActionsSchema implements PersistentStateComponent<Eleme
ourAdditionalIdToName.remove(itemId);
// Need to sync new items with global instance (if it has been created)
CustomActionsSchema customActionSchema = ServiceManager.getServiceIfCreated(CustomActionsSchema.class);
CustomActionsSchema customActionSchema = ApplicationManager.getApplication().getServiceIfCreated(CustomActionsSchema.class);
if (customActionSchema != null) {
customActionSchema.myIdToName.remove(itemId);
}
@@ -29,7 +29,6 @@ import com.intellij.openapi.actionSystem.ex.ActionUtil;
import com.intellij.openapi.actionSystem.ex.AnActionListener;
import com.intellij.openapi.application.*;
import com.intellij.openapi.application.impl.LaterInvocator;
import com.intellij.openapi.components.ServiceManager;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.extensions.ExtensionPointName;
import com.intellij.openapi.extensions.PluginDescriptor;
@@ -1203,7 +1202,7 @@ public final class ActionManagerImpl extends ActionManagerEx implements Disposab
}
private static void notifyCustomActionsSchema(@NotNull String registeredID) {
CustomActionsSchema schema = ServiceManager.getServiceIfCreated(CustomActionsSchema.class);
CustomActionsSchema schema = ApplicationManager.getApplication().getServiceIfCreated(CustomActionsSchema.class);
if (schema == null) return;
for (ActionUrl url : schema.getActions()) {
if (registeredID.equals(url.getComponent())) {
@@ -1,9 +1,10 @@
// 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.editor.impl;
import com.intellij.injected.editor.EditorWindow;
import com.intellij.openapi.actionSystem.*;
import com.intellij.openapi.actionSystem.ex.AnActionListener;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.components.Service;
import com.intellij.openapi.components.ServiceManager;
import com.intellij.openapi.editor.Editor;
@@ -55,7 +56,7 @@ public final class EditorLastActionTracker {
@Nullable
private static EditorLastActionTracker getTrackerIfCreated() {
return ServiceManager.getServiceIfCreated(EditorLastActionTracker.class);
return ApplicationManager.getApplication().getServiceIfCreated(EditorLastActionTracker.class);
}
final static class MyEditorFactoryListener implements EditorFactoryListener {
@@ -1,13 +1,6 @@
// 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.testFramework.fixtures.impl;
import static com.intellij.openapi.util.io.FileUtil.toSystemDependentName;
import static com.intellij.testFramework.RunAll.runAll;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import com.intellij.analysis.AnalysisScope;
import com.intellij.application.options.CodeStyle;
import com.intellij.codeHighlighting.RainbowHighlighter;
@@ -17,11 +10,7 @@ import com.intellij.codeInsight.completion.CompletionType;
import com.intellij.codeInsight.daemon.DaemonCodeAnalyzer;
import com.intellij.codeInsight.daemon.DaemonCodeAnalyzerSettings;
import com.intellij.codeInsight.daemon.GutterMark;
import com.intellij.codeInsight.daemon.impl.DaemonCodeAnalyzerEx;
import com.intellij.codeInsight.daemon.impl.DaemonCodeAnalyzerImpl;
import com.intellij.codeInsight.daemon.impl.HighlightInfo;
import com.intellij.codeInsight.daemon.impl.HighlightInfoType;
import com.intellij.codeInsight.daemon.impl.ShowIntentionsPass;
import com.intellij.codeInsight.daemon.impl.*;
import com.intellij.codeInsight.folding.CodeFoldingManager;
import com.intellij.codeInsight.highlighting.actions.HighlightUsagesAction;
import com.intellij.codeInsight.intention.IntentionAction;
@@ -58,19 +47,12 @@ import com.intellij.lang.annotation.HighlightSeverity;
import com.intellij.lang.injection.InjectedLanguageManager;
import com.intellij.mock.MockProgressIndicator;
import com.intellij.openapi.Disposable;
import com.intellij.openapi.actionSystem.ActionPlaces;
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.actionSystem.CommonDataKeys;
import com.intellij.openapi.actionSystem.DataContext;
import com.intellij.openapi.actionSystem.IdeActions;
import com.intellij.openapi.actionSystem.Presentation;
import com.intellij.openapi.actionSystem.*;
import com.intellij.openapi.actionSystem.impl.SimpleDataContext;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.ReadAction;
import com.intellij.openapi.application.WriteAction;
import com.intellij.openapi.command.WriteCommandAction;
import com.intellij.openapi.components.ServiceManager;
import com.intellij.openapi.editor.Document;
import com.intellij.openapi.editor.Editor;
import com.intellij.openapi.editor.EditorFactory;
@@ -85,11 +67,7 @@ import com.intellij.openapi.editor.markup.RangeHighlighter;
import com.intellij.openapi.editor.markup.TextAttributes;
import com.intellij.openapi.extensions.ExtensionPointName;
import com.intellij.openapi.extensions.ExtensionsArea;
import com.intellij.openapi.fileEditor.FileDocumentManager;
import com.intellij.openapi.fileEditor.FileEditor;
import com.intellij.openapi.fileEditor.FileEditorManager;
import com.intellij.openapi.fileEditor.OpenFileDescriptor;
import com.intellij.openapi.fileEditor.TextEditor;
import com.intellij.openapi.fileEditor.*;
import com.intellij.openapi.fileEditor.ex.FileEditorManagerEx;
import com.intellij.openapi.fileEditor.impl.EditorHistoryManager;
import com.intellij.openapi.fileEditor.impl.text.TextEditorProvider;
@@ -103,29 +81,14 @@ import com.intellij.openapi.project.Project;
import com.intellij.openapi.roots.ModuleRootManager;
import com.intellij.openapi.roots.ProjectRootManager;
import com.intellij.openapi.roots.impl.ProjectRootManagerImpl;
import com.intellij.openapi.util.Disposer;
import com.intellij.openapi.util.Pair;
import com.intellij.openapi.util.Segment;
import com.intellij.openapi.util.TextRange;
import com.intellij.openapi.util.ThrowableComputable;
import com.intellij.openapi.util.Trinity;
import com.intellij.openapi.util.*;
import com.intellij.openapi.util.io.FileUtil;
import com.intellij.openapi.util.registry.Registry;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.openapi.vcs.readOnlyHandler.ReadonlyStatusHandlerImpl;
import com.intellij.openapi.vfs.LocalFileSystem;
import com.intellij.openapi.vfs.ReadonlyStatusHandler;
import com.intellij.openapi.vfs.VfsUtil;
import com.intellij.openapi.vfs.VfsUtilCore;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.openapi.vfs.VirtualFileFilter;
import com.intellij.openapi.vfs.*;
import com.intellij.openapi.vfs.impl.VirtualFilePointerTracker;
import com.intellij.psi.PsiDirectory;
import com.intellij.psi.PsiDocumentManager;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiFile;
import com.intellij.psi.PsiManager;
import com.intellij.psi.PsiReference;
import com.intellij.psi.*;
import com.intellij.psi.codeStyle.CodeStyleSettings;
import com.intellij.psi.impl.PsiManagerEx;
import com.intellij.psi.impl.PsiManagerImpl;
@@ -136,92 +99,45 @@ import com.intellij.psi.search.SearchScope;
import com.intellij.psi.stubs.StubTextInconsistencyException;
import com.intellij.psi.util.PsiUtilBase;
import com.intellij.refactoring.move.moveFilesOrDirectories.MoveFilesOrDirectoriesProcessor;
import com.intellij.refactoring.rename.PsiElementRenameHandler;
import com.intellij.refactoring.rename.RenameHandler;
import com.intellij.refactoring.rename.RenameHandlerRegistry;
import com.intellij.refactoring.rename.RenameProcessor;
import com.intellij.refactoring.rename.RenamePsiElementProcessor;
import com.intellij.refactoring.rename.*;
import com.intellij.rt.execution.junit.FileComparisonFailure;
import com.intellij.testFramework.EditorTestUtil;
import com.intellij.testFramework.EdtTestUtil;
import com.intellij.testFramework.EdtTestUtilKt;
import com.intellij.testFramework.ExpectedHighlightingData;
import com.intellij.testFramework.FileTreeAccessFilter;
import com.intellij.testFramework.HeavyPlatformTestCase;
import com.intellij.testFramework.HighlightTestInfo;
import com.intellij.testFramework.InspectionTestUtil;
import com.intellij.testFramework.InspectionsKt;
import com.intellij.testFramework.LightPlatformTestCase;
import com.intellij.testFramework.PlatformTestUtil;
import com.intellij.testFramework.PsiTestUtil;
import com.intellij.testFramework.TestActionEvent;
import com.intellij.testFramework.TestApplicationManager;
import com.intellij.testFramework.TestDataFile;
import com.intellij.testFramework.TreeNodeTester;
import com.intellij.testFramework.UsefulTestCase;
import com.intellij.testFramework.VfsTestUtil;
import com.intellij.testFramework.fixtures.CodeInsightTestFixture;
import com.intellij.testFramework.fixtures.CodeInsightTestUtil;
import com.intellij.testFramework.fixtures.EditorTestFixture;
import com.intellij.testFramework.fixtures.HeavyIdeaTestFixture;
import com.intellij.testFramework.fixtures.IdeaProjectTestFixture;
import com.intellij.testFramework.fixtures.IdeaTestExecutionPolicy;
import com.intellij.testFramework.fixtures.TempDirTestFixture;
import com.intellij.testFramework.*;
import com.intellij.testFramework.fixtures.*;
import com.intellij.testFramework.utils.inlays.CaretAndInlaysInfo;
import com.intellij.testFramework.utils.inlays.InlayHintsChecker;
import com.intellij.ui.components.breadcrumbs.Crumb;
import com.intellij.ui.content.Content;
import com.intellij.usageView.UsageInfo;
import com.intellij.usageView.UsageViewContentManager;
import com.intellij.usages.Usage;
import com.intellij.usages.UsageInfo2UsageAdapter;
import com.intellij.usages.UsageTarget;
import com.intellij.usages.UsageView;
import com.intellij.usages.UsageViewManager;
import com.intellij.usages.UsageViewPresentation;
import com.intellij.usages.*;
import com.intellij.usages.impl.UsageViewImpl;
import com.intellij.util.ArrayUtil;
import com.intellij.util.CommonProcessors;
import com.intellij.util.Consumer;
import com.intellij.util.ExceptionUtil;
import com.intellij.util.Function;
import com.intellij.util.ObjectUtils;
import com.intellij.util.PathUtil;
import com.intellij.util.Processor;
import com.intellij.util.SmartList;
import com.intellij.util.*;
import com.intellij.util.containers.ContainerUtil;
import com.intellij.util.indexing.FileBasedIndex;
import com.intellij.util.indexing.FileBasedIndexExtension;
import com.intellij.util.indexing.FindSymbolParameters;
import com.intellij.util.io.ReadOnlyAttributeUtil;
import com.intellij.util.ui.UIUtil;
import junit.framework.ComparisonFailure;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.annotations.TestOnly;
import java.io.File;
import java.io.IOException;
import java.io.UncheckedIOException;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import java.util.ResourceBundle;
import java.util.SortedMap;
import java.util.TreeMap;
import java.util.*;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.function.Predicate;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import junit.framework.ComparisonFailure;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.annotations.TestOnly;
import static com.intellij.openapi.util.io.FileUtil.toSystemDependentName;
import static com.intellij.testFramework.RunAll.runAll;
import static org.junit.Assert.*;
/**
* @author Dmitry Avdeev
@@ -1332,7 +1248,8 @@ public class CodeInsightTestFixtureImpl extends BaseFixture implements CodeInsig
}
// return default value to avoid unnecessary save
DaemonCodeAnalyzerSettings daemonCodeAnalyzerSettings = ServiceManager.getServiceIfCreated(DaemonCodeAnalyzerSettings.class);
DaemonCodeAnalyzerSettings daemonCodeAnalyzerSettings =
ApplicationManager.getApplication().getServiceIfCreated(DaemonCodeAnalyzerSettings.class);
if (daemonCodeAnalyzerSettings != null) {
daemonCodeAnalyzerSettings.setImportHintEnabled(true);
}
@@ -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.vcs.log.statistics
import com.intellij.internal.statistic.beans.MetricEvent
@@ -6,12 +6,8 @@ import com.intellij.internal.statistic.beans.newCounterMetric
import com.intellij.internal.statistic.beans.newMetric
import com.intellij.internal.statistic.service.fus.collectors.ApplicationUsagesCollector
import com.intellij.internal.statistic.service.fus.collectors.ProjectUsagesCollector
import com.intellij.openapi.components.PersistentStateComponent
import com.intellij.openapi.components.*
import com.intellij.openapi.components.ServiceManager.getService
import com.intellij.openapi.components.ServiceManager.getServiceIfCreated
import com.intellij.openapi.components.State
import com.intellij.openapi.components.Storage
import com.intellij.openapi.components.StoragePathMacros
import com.intellij.openapi.project.Project
import com.intellij.openapi.util.registry.Registry
import com.intellij.vcs.log.data.index.VcsLogBigRepositoriesList
@@ -20,7 +16,7 @@ import org.jetbrains.annotations.NonNls
import java.util.concurrent.TimeUnit
@NonNls
class VcsLogIndexApplicationStatisticsCollector : ApplicationUsagesCollector() {
internal class VcsLogIndexApplicationStatisticsCollector : ApplicationUsagesCollector() {
override fun getMetrics(): MutableSet<MetricEvent> {
val metricEvents = mutableSetOf<MetricEvent>()
if (!Registry.`is`("vcs.log.index.git")) {
@@ -40,7 +36,7 @@ class VcsLogIndexApplicationStatisticsCollector : ApplicationUsagesCollector() {
return metricEvents
}
private fun getBigRepositoriesList() = getServiceIfCreated<VcsLogBigRepositoriesList>(VcsLogBigRepositoriesList::class.java)
private fun getBigRepositoriesList() = serviceIfCreated<VcsLogBigRepositoriesList>()
override fun getGroupId(): String = "vcs.log.index.application"
@@ -65,9 +61,9 @@ class VcsLogIndexProjectStatisticsCollector : ProjectUsagesCollector() {
return usages
}
private fun getSharedSettings(project: Project) = getServiceIfCreated<VcsLogSharedSettings>(project, VcsLogSharedSettings::class.java)
private fun getSharedSettings(project: Project) = project.serviceIfCreated<VcsLogSharedSettings>()
private fun getIndexCollector(project: Project) = getServiceIfCreated<VcsLogIndexCollector>(project, VcsLogIndexCollector::class.java)
private fun getIndexCollector(project: Project) = project.serviceIfCreated<VcsLogIndexCollector>()
override fun getGroupId(): String = "vcs.log.index.project"