From e1dad34ad01cf8d0e52bf41eed278818a5eeb666 Mon Sep 17 00:00:00 2001 From: Leonid Shalupov Date: Mon, 17 Sep 2018 15:26:29 +0300 Subject: [PATCH] Do not use ProjectRootManagerImpl in StartupManagerImpl IDEA-199211 Refactor code dependent on project model implementation IDEA-CR-37149 --- .../com/intellij/ide/startup/impl/StartupManagerImpl.java | 4 ++-- .../com/intellij/openapi/roots/ex/ProjectRootManagerEx.java | 2 ++ .../intellij/openapi/roots/impl/ProjectRootManagerImpl.java | 5 ++++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/ide/startup/impl/StartupManagerImpl.java b/platform/platform-impl/src/com/intellij/ide/startup/impl/StartupManagerImpl.java index aee7a639d9e6..418b48017976 100644 --- a/platform/platform-impl/src/com/intellij/ide/startup/impl/StartupManagerImpl.java +++ b/platform/platform-impl/src/com/intellij/ide/startup/impl/StartupManagerImpl.java @@ -18,7 +18,7 @@ import com.intellij.openapi.project.DumbServiceImpl; import com.intellij.openapi.project.Project; import com.intellij.openapi.project.impl.ProjectLifecycleListener; import com.intellij.openapi.roots.ProjectRootManager; -import com.intellij.openapi.roots.impl.ProjectRootManagerImpl; +import com.intellij.openapi.roots.ex.ProjectRootManagerEx; import com.intellij.openapi.startup.StartupActivity; import com.intellij.openapi.util.SystemInfo; import com.intellij.openapi.util.io.FileUtil; @@ -225,7 +225,7 @@ public class StartupManagerImpl extends StartupManagerEx { if (myProject.isDisposed() || myInitialRefreshScheduled) return; myInitialRefreshScheduled = true; - ((ProjectRootManagerImpl)ProjectRootManager.getInstance(myProject)).markRootsForRefresh(); + ProjectRootManagerEx.getInstanceEx(myProject).markRootsForRefresh(); Application app = ApplicationManager.getApplication(); if (!app.isCommandLine()) { diff --git a/platform/projectModel-api/src/com/intellij/openapi/roots/ex/ProjectRootManagerEx.java b/platform/projectModel-api/src/com/intellij/openapi/roots/ex/ProjectRootManagerEx.java index f804480d589d..0a7025f29728 100644 --- a/platform/projectModel-api/src/com/intellij/openapi/roots/ex/ProjectRootManagerEx.java +++ b/platform/projectModel-api/src/com/intellij/openapi/roots/ex/ProjectRootManagerEx.java @@ -33,6 +33,8 @@ public abstract class ProjectRootManagerEx extends ProjectRootManager { // invokes runnable surrounded by beforeRootsChange()/rootsChanged() callbacks public abstract void makeRootsChange(@NotNull Runnable runnable, boolean fileTypes, boolean fireEvents); + public abstract void markRootsForRefresh(); + public abstract void mergeRootsChangesDuring(@NotNull Runnable runnable); public abstract void clearScopesCachesForModules(); diff --git a/platform/projectModel-impl/src/com/intellij/openapi/roots/impl/ProjectRootManagerImpl.java b/platform/projectModel-impl/src/com/intellij/openapi/roots/impl/ProjectRootManagerImpl.java index 34d871661dfe..96aa675359f5 100644 --- a/platform/projectModel-impl/src/com/intellij/openapi/roots/impl/ProjectRootManagerImpl.java +++ b/platform/projectModel-impl/src/com/intellij/openapi/roots/impl/ProjectRootManagerImpl.java @@ -641,7 +641,10 @@ public class ProjectRootManagerImpl extends ProjectRootManagerEx implements Pers } } - public void markRootsForRefresh() { } + @Override + public void markRootsForRefresh() { + + } @NotNull public VirtualFilePointerListener getRootsValidityChangedListener() {