From 848bcd536767e6a25a53d003fc1177025498fdc8 Mon Sep 17 00:00:00 2001 From: peter Date: Thu, 16 Feb 2017 18:44:59 +0100 Subject: [PATCH] CompletionProgressIndicator: remove duplicate restarting conditions, restart in tests closer to the real life --- .../completion/CompletionProgressIndicator.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/codeInsight/completion/CompletionProgressIndicator.java b/platform/lang-impl/src/com/intellij/codeInsight/completion/CompletionProgressIndicator.java index f994d74aa4f7..86b3d6bb5d17 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/completion/CompletionProgressIndicator.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/completion/CompletionProgressIndicator.java @@ -80,6 +80,7 @@ import java.beans.PropertyChangeListener; import java.util.ArrayList; import java.util.List; import java.util.Queue; +import java.util.Set; import java.util.concurrent.ConcurrentLinkedQueue; import java.util.concurrent.ConcurrentMap; import java.util.concurrent.TimeUnit; @@ -106,7 +107,7 @@ public class CompletionProgressIndicator extends ProgressIndicatorBase implement }; private final Semaphore myFreezeSemaphore; private final OffsetMap myOffsetMap; - private final List>> myRestartingPrefixConditions = ContainerUtil.createLockFreeCopyOnWriteList(); + private final Set>> myRestartingPrefixConditions = ContainerUtil.newConcurrentSet(); private final LookupAdapter myLookupListener = new LookupAdapter() { @Override public void lookupCanceled(final LookupEvent event) { @@ -656,9 +657,9 @@ public class CompletionProgressIndicator extends ProgressIndicatorBase implement public void scheduleRestart() { ApplicationManager.getApplication().assertIsDispatchThread(); if (ApplicationManager.getApplication().isUnitTestMode() && !CompletionAutoPopupHandler.ourTestingAutopopup) { - closeAndFinish(true); + closeAndFinish(false); PsiDocumentManager.getInstance(getProject()).commitAllDocuments(); - new CodeCompletionHandlerBase(myParameters.getCompletionType()).invokeCompletion(getProject(), myEditor, myParameters.getInvocationCount()); + new CodeCompletionHandlerBase(myParameters.getCompletionType(), false, false, true).invokeCompletion(getProject(), myEditor, myParameters.getInvocationCount()); return; }