From ccc133af531dedeeaa6fe98c6444a057df9e5741 Mon Sep 17 00:00:00 2001 From: peter Date: Mon, 4 Apr 2016 16:53:47 +0200 Subject: [PATCH] removing TransactionKind, step 1: from submitTransactionAndWait --- .../src/com/intellij/compiler/server/BuildManager.java | 9 ++++++--- .../intellij/openapi/application/TransactionGuard.java | 2 +- .../com/intellij/openapi/application/WriteAction.java | 2 +- .../com/intellij/openapi/command/WriteCommandAction.java | 2 +- .../openapi/application/TransactionGuardImpl.java | 6 +++--- .../openapi/module/impl/ModuleManagerComponent.java | 3 +-- .../openapi/project/impl/ProjectManagerImpl.java | 2 +- 7 files changed, 14 insertions(+), 12 deletions(-) diff --git a/java/compiler/impl/src/com/intellij/compiler/server/BuildManager.java b/java/compiler/impl/src/com/intellij/compiler/server/BuildManager.java index fc46ad254843..c8e88bbecdd2 100644 --- a/java/compiler/impl/src/com/intellij/compiler/server/BuildManager.java +++ b/java/compiler/impl/src/com/intellij/compiler/server/BuildManager.java @@ -38,7 +38,10 @@ import com.intellij.ide.PowerSaveMode; import com.intellij.ide.file.BatchFileChangeListener; import com.intellij.openapi.Disposable; import com.intellij.openapi.actionSystem.CommonDataKeys; -import com.intellij.openapi.application.*; +import com.intellij.openapi.application.Application; +import com.intellij.openapi.application.ApplicationManager; +import com.intellij.openapi.application.PathManager; +import com.intellij.openapi.application.TransactionGuard; import com.intellij.openapi.compiler.CompilationStatusListener; import com.intellij.openapi.compiler.CompileContext; import com.intellij.openapi.compiler.CompilerPaths; @@ -186,7 +189,7 @@ public class BuildManager implements Disposable { @Override public void runTask() { if (shouldSaveDocuments()) { - TransactionGuard.getInstance().submitTransactionAndWait(TransactionKind.ANY_CHANGE, () -> + TransactionGuard.getInstance().submitTransactionAndWait(() -> ((FileDocumentManagerImpl)FileDocumentManager.getInstance()).saveAllDocuments(false)); } } @@ -755,7 +758,7 @@ public class BuildManager implements Disposable { // ensure project model is saved on disk, so that automake sees the latest model state. // For ordinary make all project, app settings and unsaved docs are always saved before build starts. try { - TransactionGuard.getInstance().submitTransactionAndWait(TransactionKind.ANY_CHANGE, project::save); + TransactionGuard.getInstance().submitTransactionAndWait(project::save); } catch (Throwable e) { LOG.info(e); diff --git a/platform/core-api/src/com/intellij/openapi/application/TransactionGuard.java b/platform/core-api/src/com/intellij/openapi/application/TransactionGuard.java index e4a3bf7723aa..0a4835cbcafd 100644 --- a/platform/core-api/src/com/intellij/openapi/application/TransactionGuard.java +++ b/platform/core-api/src/com/intellij/openapi/application/TransactionGuard.java @@ -136,7 +136,7 @@ public abstract class TransactionGuard { * @see #submitMergeableTransaction(Disposable, TransactionKind, Runnable) * @throws ProcessCanceledException if current thread is interrupted */ - public abstract void submitTransactionAndWait(@NotNull TransactionKind kind, @NotNull Runnable transaction) throws ProcessCanceledException; + public abstract void submitTransactionAndWait(@NotNull Runnable transaction) throws ProcessCanceledException; /** * A synchronous version of {@link #submitMergeableTransaction(Disposable, TransactionKind, Runnable)}. diff --git a/platform/core-api/src/com/intellij/openapi/application/WriteAction.java b/platform/core-api/src/com/intellij/openapi/application/WriteAction.java index 5aa1a06ac9d1..78ca1d216f66 100644 --- a/platform/core-api/src/com/intellij/openapi/application/WriteAction.java +++ b/platform/core-api/src/com/intellij/openapi/application/WriteAction.java @@ -47,7 +47,7 @@ public abstract class WriteAction extends BaseActionRunnable { LOG.error("Must not start write action from within read action in the other thread - deadlock is coming"); } - TransactionGuard.getInstance().submitTransactionAndWait(TransactionKind.ANY_CHANGE, new Runnable() { + TransactionGuard.getInstance().submitTransactionAndWait(new Runnable() { @Override public void run() { AccessToken token = start(WriteAction.this.getClass()); diff --git a/platform/core-api/src/com/intellij/openapi/command/WriteCommandAction.java b/platform/core-api/src/com/intellij/openapi/command/WriteCommandAction.java index 9e4c81207493..e63646892d5d 100644 --- a/platform/core-api/src/com/intellij/openapi/command/WriteCommandAction.java +++ b/platform/core-api/src/com/intellij/openapi/command/WriteCommandAction.java @@ -83,7 +83,7 @@ public abstract class WriteCommandAction extends BaseActionRunnable { performWriteCommandAction(result); } else { try { - TransactionGuard.getInstance().submitTransactionAndWait(TransactionKind.ANY_CHANGE, new Runnable() { + TransactionGuard.getInstance().submitTransactionAndWait(new Runnable() { @Override public void run() { performWriteCommandAction(result); diff --git a/platform/core-impl/src/com/intellij/openapi/application/TransactionGuardImpl.java b/platform/core-impl/src/com/intellij/openapi/application/TransactionGuardImpl.java index 9c643ec8c70c..1e22f661a12c 100644 --- a/platform/core-impl/src/com/intellij/openapi/application/TransactionGuardImpl.java +++ b/platform/core-impl/src/com/intellij/openapi/application/TransactionGuardImpl.java @@ -201,10 +201,10 @@ public class TransactionGuardImpl extends TransactionGuard { } @Override - public void submitTransactionAndWait(@NotNull TransactionKind kind, @NotNull final Runnable runnable) throws ProcessCanceledException { + public void submitTransactionAndWait(@NotNull final Runnable runnable) throws ProcessCanceledException { Application app = ApplicationManager.getApplication(); if (app.isDispatchThread()) { - Transaction transaction = new Transaction(runnable, getCurrentMergeableTransaction(), kind, app); + Transaction transaction = new Transaction(runnable, getCurrentMergeableTransaction(), TransactionKind.ANY_CHANGE, app); if (!canRunTransactionNow(transaction, true)) { throw new AssertionError("Cannot run synchronous submitTransactionAndWait from invokeLater. " + "Please use asynchronous submit*Transaction. " + @@ -218,7 +218,7 @@ public class TransactionGuardImpl extends TransactionGuard { final Semaphore semaphore = new Semaphore(); semaphore.down(); final Throwable[] exception = {null}; - submitMergeableTransaction(Disposer.newDisposable("never disposed"), kind, new Runnable() { + submitMergeableTransaction(Disposer.newDisposable("never disposed"), TransactionKind.ANY_CHANGE, new Runnable() { @Override public void run() { try { diff --git a/platform/lang-impl/src/com/intellij/openapi/module/impl/ModuleManagerComponent.java b/platform/lang-impl/src/com/intellij/openapi/module/impl/ModuleManagerComponent.java index fb1216283a8d..50ac43c3fc1d 100644 --- a/platform/lang-impl/src/com/intellij/openapi/module/impl/ModuleManagerComponent.java +++ b/platform/lang-impl/src/com/intellij/openapi/module/impl/ModuleManagerComponent.java @@ -21,7 +21,6 @@ import com.intellij.notification.NotificationType; import com.intellij.notification.Notifications; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.application.TransactionGuard; -import com.intellij.openapi.application.TransactionKind; import com.intellij.openapi.components.State; import com.intellij.openapi.components.Storage; import com.intellij.openapi.diagnostic.Logger; @@ -123,7 +122,7 @@ public class ModuleManagerComponent extends ModuleManagerImpl { @Override protected void fireModulesAdded() { for (final Module module : myModuleModel.myModules.values()) { - TransactionGuard.getInstance().submitTransactionAndWait(TransactionKind.ANY_CHANGE, () -> fireModuleAddedInWriteAction(module)); + TransactionGuard.getInstance().submitTransactionAndWait(() -> fireModuleAddedInWriteAction(module)); } } diff --git a/platform/platform-impl/src/com/intellij/openapi/project/impl/ProjectManagerImpl.java b/platform/platform-impl/src/com/intellij/openapi/project/impl/ProjectManagerImpl.java index b1d0763c8532..74d9b2050b60 100644 --- a/platform/platform-impl/src/com/intellij/openapi/project/impl/ProjectManagerImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/project/impl/ProjectManagerImpl.java @@ -379,7 +379,7 @@ public class ProjectManagerImpl extends ProjectManagerEx implements Disposable { // Startup activities (e.g. the one in FileBasedIndexProjectHandler) have scheduled dumb mode to begin "later" // Now we schedule-and-wait to the same event queue to guarantee that the dumb mode really begins now: // Post-startup activities should not ever see unindexed and at the same time non-dumb state - TransactionGuard.getInstance().submitTransactionAndWait(TransactionKind.ANY_CHANGE, startupManager::startCacheUpdate); + TransactionGuard.getInstance().submitTransactionAndWait(startupManager::startCacheUpdate); startupManager.runPostStartupActivitiesFromExtensions();