From bc949b20728abb57c7a7f54ed3205e6e546bfd6b Mon Sep 17 00:00:00 2001 From: peter Date: Wed, 6 Apr 2016 19:43:19 +0200 Subject: [PATCH] modality cleanup --- .../src/com/intellij/mock/MockApplication.java | 18 +----------------- .../application/impl/ApplicationImpl.java | 3 +-- .../application/impl/LaterInvocator.java | 10 ++-------- 3 files changed, 4 insertions(+), 27 deletions(-) diff --git a/platform/core-impl/src/com/intellij/mock/MockApplication.java b/platform/core-impl/src/com/intellij/mock/MockApplication.java index 660b4ac4a7a4..a1d9f142bd88 100644 --- a/platform/core-impl/src/com/intellij/mock/MockApplication.java +++ b/platform/core-impl/src/com/intellij/mock/MockApplication.java @@ -17,7 +17,6 @@ package com.intellij.mock; import com.intellij.openapi.Disposable; import com.intellij.openapi.application.*; -import com.intellij.openapi.application.impl.ModalityStateEx; import com.intellij.openapi.util.Computable; import com.intellij.openapi.util.Condition; import com.intellij.openapi.util.ThrowableComputable; @@ -30,8 +29,6 @@ import java.util.concurrent.Callable; import java.util.concurrent.Future; public class MockApplication extends MockComponentManager implements Application { - private ModalityState MODALITY_STATE_NONE; - public static int INSTANCES_CREATED = 0; public MockApplication(@NotNull Disposable parentDisposable) { @@ -194,20 +191,7 @@ public class MockApplication extends MockComponentManager implements Application @NotNull @Override public ModalityState getNoneModalityState() { - if (MODALITY_STATE_NONE == null) { - MODALITY_STATE_NONE = new ModalityStateEx() { - @Override - public boolean dominates(@NotNull ModalityState anotherState) { - return false; - } - - @Override - public String toString() { - return "NONE"; - } - }; - } - return MODALITY_STATE_NONE; + return ModalityState.NON_MODAL; } @Override diff --git a/platform/platform-impl/src/com/intellij/openapi/application/impl/ApplicationImpl.java b/platform/platform-impl/src/com/intellij/openapi/application/impl/ApplicationImpl.java index baebad00da7f..18e297a0262c 100644 --- a/platform/platform-impl/src/com/intellij/openapi/application/impl/ApplicationImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/application/impl/ApplicationImpl.java @@ -90,7 +90,6 @@ import java.util.concurrent.locks.ReentrantReadWriteLock; public class ApplicationImpl extends PlatformComponentManagerImpl implements ApplicationEx { private static final Logger LOG = Logger.getInstance("#com.intellij.application.impl.ApplicationImpl"); - private final ModalityState MODALITY_STATE_NONE = ModalityState.NON_MODAL; // about writer preference: the way the j.u.c.l.ReentrantReadWriteLock.NonfairSync is implemented, the // writer thread will be always at the queue head and therefore, j.u.c.l.ReentrantReadWriteLock.NonfairSync.readerShouldBlock() @@ -774,7 +773,7 @@ public class ApplicationImpl extends PlatformComponentManagerImpl implements App @Override @NotNull public ModalityState getNoneModalityState() { - return MODALITY_STATE_NONE; + return ModalityState.NON_MODAL; } @Override diff --git a/platform/platform-impl/src/com/intellij/openapi/application/impl/LaterInvocator.java b/platform/platform-impl/src/com/intellij/openapi/application/impl/LaterInvocator.java index 63e41d6187d6..3ccb7f7b1caa 100644 --- a/platform/platform-impl/src/com/intellij/openapi/application/impl/LaterInvocator.java +++ b/platform/platform-impl/src/com/intellij/openapi/application/impl/LaterInvocator.java @@ -214,6 +214,7 @@ public class LaterInvocator { ourModalityStack.pop(); } LOG.assertTrue(removed, modalEntity); + LOG.assertTrue(!ourModalityStack.isEmpty()); cleanupQueueForModal(modalEntity); ourQueueSkipCount = 0; requestFlush(); @@ -303,14 +304,7 @@ public class LaterInvocator { } - ModalityState currentModality; - if (ourModalEntities.isEmpty()) { - Application application = ApplicationManager.getApplication(); - currentModality = application == null ? ModalityState.NON_MODAL : application.getNoneModalityState(); - } - else { - currentModality = new ModalityStateEx(ourModalEntities.toArray()); - } + ModalityState currentModality = getCurrentModalityState(); while (ourQueueSkipCount < ourQueue.size()) { RunnableInfo info = ourQueue.get(ourQueueSkipCount);