mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
removing TransactionKind, step 1: from submitTransactionAndWait
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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)}.
|
||||
|
||||
@@ -47,7 +47,7 @@ public abstract class WriteAction<T> extends BaseActionRunnable<T> {
|
||||
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());
|
||||
|
||||
@@ -83,7 +83,7 @@ public abstract class WriteCommandAction<T> extends BaseActionRunnable<T> {
|
||||
performWriteCommandAction(result);
|
||||
} else {
|
||||
try {
|
||||
TransactionGuard.getInstance().submitTransactionAndWait(TransactionKind.ANY_CHANGE, new Runnable() {
|
||||
TransactionGuard.getInstance().submitTransactionAndWait(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
performWriteCommandAction(result);
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -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();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user