diff --git a/java/java-impl/src/com/intellij/codeInspection/javaDoc/JavaDocReferenceInspection.java b/java/java-impl/src/com/intellij/codeInspection/javaDoc/JavaDocReferenceInspection.java index 1832a6fcdc3f..29e21845a7ad 100644 --- a/java/java-impl/src/com/intellij/codeInspection/javaDoc/JavaDocReferenceInspection.java +++ b/java/java-impl/src/com/intellij/codeInspection/javaDoc/JavaDocReferenceInspection.java @@ -42,6 +42,7 @@ import com.intellij.psi.PsiJavaCodeReferenceElement; import com.intellij.psi.util.PsiTreeUtil; import com.intellij.psi.util.proximity.PsiProximityComparator; import com.intellij.ui.components.JBList; +import com.intellij.util.Consumer; import org.jetbrains.annotations.NotNull; import javax.swing.*; @@ -83,9 +84,9 @@ public class JavaDocReferenceInspection extends JavaDocReferenceInspectionBase { @Override public void applyFix(@NotNull final Project project, @NotNull final ProblemDescriptor descriptor) { final AsyncResult asyncResult = DataManager.getInstance().getDataContextFromFocus(); - asyncResult.doWhenDone(new AsyncResult.Handler() { + asyncResult.doWhenDone(new Consumer() { @Override - public void run(DataContext dataContext) { + public void consume(DataContext dataContext) { final Editor editor = CommonDataKeys.EDITOR.getData(dataContext); assert editor != null; final TextRange textRange = ((ProblemDescriptorBase)descriptor).getTextRange(); @@ -152,9 +153,9 @@ public class JavaDocReferenceInspection extends JavaDocReferenceInspectionBase { } }; final AsyncResult asyncResult = DataManager.getInstance().getDataContextFromFocus(); - asyncResult.doWhenDone(new AsyncResult.Handler() { + asyncResult.doWhenDone(new Consumer() { @Override - public void run(DataContext dataContext) { + public void consume(DataContext dataContext) { new PopupChooserBuilder(list). setTitle(QuickFixBundle.message("add.qualifier.original.class.chooser.title")). setItemChoosenCallback(runnable). diff --git a/platform/core-api/src/com/intellij/openapi/util/AsyncResult.java b/platform/core-api/src/com/intellij/openapi/util/AsyncResult.java index 41ddcfc28f40..02d535eae32a 100644 --- a/platform/core-api/src/com/intellij/openapi/util/AsyncResult.java +++ b/platform/core-api/src/com/intellij/openapi/util/AsyncResult.java @@ -61,8 +61,9 @@ public class AsyncResult extends ActionCallback { } @NotNull + @Deprecated /** - * Please use {@link #doWhenDone(com.intellij.util.Consumer)} + * @deprecated Please use {@link #doWhenDone(com.intellij.util.Consumer)} */ public AsyncResult doWhenDone(@NotNull final Handler handler) { doWhenDone(new Runnable() { diff --git a/platform/lang-impl/src/com/intellij/ide/navigationToolbar/NavBarPanel.java b/platform/lang-impl/src/com/intellij/ide/navigationToolbar/NavBarPanel.java index 33adaf1d1517..cce9609d819f 100644 --- a/platform/lang-impl/src/com/intellij/ide/navigationToolbar/NavBarPanel.java +++ b/platform/lang-impl/src/com/intellij/ide/navigationToolbar/NavBarPanel.java @@ -23,12 +23,12 @@ import com.intellij.ide.IdeView; import com.intellij.ide.dnd.DnDActionInfo; import com.intellij.ide.dnd.DnDDragStartBean; import com.intellij.ide.dnd.DnDSupport; +import com.intellij.ide.dnd.TransferableWrapper; import com.intellij.ide.navigationToolbar.ui.NavBarUI; import com.intellij.ide.navigationToolbar.ui.NavBarUIManager; import com.intellij.ide.projectView.ProjectView; import com.intellij.ide.projectView.impl.AbstractProjectViewPane; import com.intellij.ide.projectView.impl.ProjectRootsUtil; -import com.intellij.ide.dnd.TransferableWrapper; import com.intellij.ide.ui.UISettings; import com.intellij.ide.ui.customization.CustomActionsSchema; import com.intellij.ide.util.DeleteHandler; @@ -62,6 +62,7 @@ import com.intellij.ui.awt.RelativePoint; import com.intellij.ui.components.JBList; import com.intellij.ui.popup.AbstractPopup; import com.intellij.ui.popup.PopupOwner; +import com.intellij.util.Consumer; import com.intellij.util.Function; import com.intellij.util.ui.UIUtil; import org.jetbrains.annotations.NotNull; @@ -773,9 +774,9 @@ public class NavBarPanel extends JPanel implements DataProvider, PopupOwner, Dis myUpdateQueue.rebuildUi(); if (editor == null) { myContextComponent = PlatformDataKeys.CONTEXT_COMPONENT.getData(dataContext); - getHintContainerShowPoint().doWhenDone(new AsyncResult.Handler() { + getHintContainerShowPoint().doWhenDone(new Consumer() { @Override - public void run(RelativePoint relativePoint) { + public void consume(RelativePoint relativePoint) { final Component owner = focusManager.getFocusOwner(); final Component cmp = relativePoint.getComponent(); if (cmp instanceof JComponent && cmp.isShowing()) { @@ -788,9 +789,9 @@ public class NavBarPanel extends JPanel implements DataProvider, PopupOwner, Dis } else { myHintContainer = editor.getContentComponent(); - getHintContainerShowPoint().doWhenDone(new AsyncResult.Handler() { + getHintContainerShowPoint().doWhenDone(new Consumer() { @Override - public void run(RelativePoint rp) { + public void consume(RelativePoint rp) { Point p = rp.getPointOn(myHintContainer).getPoint(); final HintHint hintInfo = new HintHint(editor, p); HintManagerImpl.getInstanceImpl().showEditorHint(myHint, editor, p, HintManager.HIDE_BY_ESCAPE, 0, true, hintInfo); @@ -812,9 +813,9 @@ public class NavBarPanel extends JPanel implements DataProvider, PopupOwner, Dis if (myContextComponent != null) { myLocationCache = JBPopupFactory.getInstance().guessBestPopupLocation(DataManager.getInstance().getDataContext(myContextComponent)); } else { - DataManager.getInstance().getDataContextFromFocus().doWhenDone(new AsyncResult.Handler() { + DataManager.getInstance().getDataContextFromFocus().doWhenDone(new Consumer() { @Override - public void run(DataContext dataContext) { + public void consume(DataContext dataContext) { myContextComponent = PlatformDataKeys.CONTEXT_COMPONENT.getData(dataContext); myLocationCache = JBPopupFactory.getInstance().guessBestPopupLocation(DataManager.getInstance().getDataContext(myContextComponent)); } diff --git a/platform/lang-impl/src/com/intellij/ide/navigationToolbar/NavBarUpdateQueue.java b/platform/lang-impl/src/com/intellij/ide/navigationToolbar/NavBarUpdateQueue.java index 8f16ccefd7f8..22a670befe68 100644 --- a/platform/lang-impl/src/com/intellij/ide/navigationToolbar/NavBarUpdateQueue.java +++ b/platform/lang-impl/src/com/intellij/ide/navigationToolbar/NavBarUpdateQueue.java @@ -19,16 +19,15 @@ import com.intellij.ide.DataManager; import com.intellij.ide.IdeEventQueue; import com.intellij.openapi.actionSystem.CommonDataKeys; import com.intellij.openapi.actionSystem.DataContext; -import com.intellij.openapi.actionSystem.PlatformDataKeys; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.ActionCallback; -import com.intellij.openapi.util.AsyncResult; import com.intellij.openapi.util.registry.Registry; import com.intellij.openapi.wm.IdeFocusManager; import com.intellij.openapi.wm.IdeFrame; import com.intellij.ui.LightweightHint; import com.intellij.ui.awt.RelativePoint; import com.intellij.util.Alarm; +import com.intellij.util.Consumer; import com.intellij.util.ui.UIUtil; import com.intellij.util.ui.update.MergingUpdateQueue; import com.intellij.util.ui.update.Update; @@ -77,9 +76,9 @@ public class NavBarUpdateQueue extends MergingUpdateQueue { if (context != null || object != null) { requestModelUpdateFromContextOrObject(context, object); } else { - DataManager.getInstance().getDataContextFromFocus().doWhenDone(new AsyncResult.Handler() { + DataManager.getInstance().getDataContextFromFocus().doWhenDone(new Consumer() { @Override - public void run(DataContext dataContext) { + public void consume(DataContext dataContext) { requestModelUpdateFromContextOrObject(dataContext, null); } }); @@ -239,9 +238,9 @@ public class NavBarUpdateQueue extends MergingUpdateQueue { protected void after() { final LightweightHint hint = myPanel.getHint(); if (hint != null) { - myPanel.getHintContainerShowPoint().doWhenDone(new AsyncResult.Handler() { + myPanel.getHintContainerShowPoint().doWhenDone(new Consumer() { @Override - public void run(final RelativePoint relativePoint) { + public void consume(final RelativePoint relativePoint) { hint.setSize(myPanel.getPreferredSize()); hint.setLocation(relativePoint); if (after != null) { diff --git a/platform/lang-impl/src/com/intellij/ide/navigationToolbar/SelectInNavBarTarget.java b/platform/lang-impl/src/com/intellij/ide/navigationToolbar/SelectInNavBarTarget.java index 655813cafae5..41f51f187cea 100644 --- a/platform/lang-impl/src/com/intellij/ide/navigationToolbar/SelectInNavBarTarget.java +++ b/platform/lang-impl/src/com/intellij/ide/navigationToolbar/SelectInNavBarTarget.java @@ -23,12 +23,12 @@ import com.intellij.ide.ui.UISettings; import com.intellij.openapi.actionSystem.DataContext; import com.intellij.openapi.project.DumbAware; import com.intellij.openapi.project.Project; -import com.intellij.openapi.util.AsyncResult; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.openapi.wm.IdeFrame; import com.intellij.openapi.wm.IdeRootPaneNorthExtension; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiFileSystemItem; +import com.intellij.util.Consumer; import org.jetbrains.annotations.NonNls; import javax.swing.*; @@ -67,9 +67,9 @@ public class SelectInNavBarTarget extends SelectInTargetPsiWrapper implements Du private static void selectInNavBar() { DataManager.getInstance().getDataContextFromFocus() - .doWhenDone(new AsyncResult.Handler() { + .doWhenDone(new Consumer() { @Override - public void run(DataContext context) { + public void consume(DataContext context) { final IdeFrame frame = IdeFrame.KEY.getData(context); if (frame != null) { final IdeRootPaneNorthExtension navBarExt = frame.getNorthExtension(NavBarRootPaneExtension.NAV_BAR); diff --git a/platform/lang-impl/src/com/intellij/ide/projectView/BaseProjectTreeBuilder.java b/platform/lang-impl/src/com/intellij/ide/projectView/BaseProjectTreeBuilder.java index 44bfbac5558d..4f7cae42da78 100644 --- a/platform/lang-impl/src/com/intellij/ide/projectView/BaseProjectTreeBuilder.java +++ b/platform/lang-impl/src/com/intellij/ide/projectView/BaseProjectTreeBuilder.java @@ -35,6 +35,7 @@ import com.intellij.psi.PsiDirectory; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiFile; import com.intellij.psi.util.PsiUtilCore; +import com.intellij.util.Consumer; import com.intellij.util.ObjectUtils; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -221,9 +222,9 @@ public abstract class BaseProjectTreeBuilder extends AbstractTreeBuilder { if (alreadySelected == null) { expandPathTo(file, (AbstractTreeNode)getTreeStructure().getRootElement(), element, condition, indicator, virtualSelectTarget) - .doWhenDone(new AsyncResult.Handler() { + .doWhenDone(new Consumer() { @Override - public void run(AbstractTreeNode node) { + public void consume(AbstractTreeNode node) { if (virtualSelectTarget == null) { select(node, onDone); } @@ -371,9 +372,9 @@ public abstract class BaseProjectTreeBuilder extends AbstractTreeBuilder { if (nonStopCondition.value(eachKid)) { final AsyncResult result = expandPathTo(file, eachKid, element, nonStopCondition, indicator, virtualSelectTarget); - result.doWhenDone(new AsyncResult.Handler() { + result.doWhenDone(new Consumer() { @Override - public void run(AbstractTreeNode abstractTreeNode) { + public void consume(AbstractTreeNode abstractTreeNode) { indicator.checkCanceled(); async.setDone(abstractTreeNode); } diff --git a/platform/lang-impl/src/com/intellij/ide/structureView/newStructureView/StructureViewComponent.java b/platform/lang-impl/src/com/intellij/ide/structureView/newStructureView/StructureViewComponent.java index 0c6d351e3f11..3f722b847e65 100644 --- a/platform/lang-impl/src/com/intellij/ide/structureView/newStructureView/StructureViewComponent.java +++ b/platform/lang-impl/src/com/intellij/ide/structureView/newStructureView/StructureViewComponent.java @@ -51,10 +51,7 @@ import com.intellij.ui.*; import com.intellij.ui.treeStructure.actions.CollapseAllAction; import com.intellij.ui.treeStructure.actions.ExpandAllAction; import com.intellij.ui.treeStructure.filtered.FilteringTreeStructure; -import com.intellij.util.Alarm; -import com.intellij.util.ArrayUtil; -import com.intellij.util.EditSourceOnDoubleClickHandler; -import com.intellij.util.OpenSourceUtil; +import com.intellij.util.*; import com.intellij.util.containers.ContainerUtil; import com.intellij.util.containers.Convertor; import com.intellij.util.ui.UIUtil; @@ -512,9 +509,9 @@ public class StructureViewComponent extends SimpleToolWindowPanel implements Tre myAbstractTreeBuilder.getReady(this).doWhenDone(new Runnable() { @Override public void run() { - expandPathToElement(element).doWhenDone(new AsyncResult.Handler() { + expandPathToElement(element).doWhenDone(new Consumer() { @Override - public void run(AbstractTreeNode abstractTreeNode) { + public void consume(AbstractTreeNode abstractTreeNode) { myAbstractTreeBuilder.select(abstractTreeNode, new Runnable() { @Override public void run() { diff --git a/platform/lang-impl/src/com/intellij/tools/ExternalToolsCheckinHandlerFactory.java b/platform/lang-impl/src/com/intellij/tools/ExternalToolsCheckinHandlerFactory.java index 1e2cd5671d1b..1a6744b4c941 100644 --- a/platform/lang-impl/src/com/intellij/tools/ExternalToolsCheckinHandlerFactory.java +++ b/platform/lang-impl/src/com/intellij/tools/ExternalToolsCheckinHandlerFactory.java @@ -18,7 +18,6 @@ package com.intellij.tools; import com.intellij.ide.DataManager; import com.intellij.openapi.Disposable; import com.intellij.openapi.actionSystem.DataContext; -import com.intellij.openapi.util.AsyncResult; import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.vcs.CheckinProjectPanel; import com.intellij.openapi.vcs.changes.CommitContext; @@ -28,6 +27,7 @@ import com.intellij.openapi.vcs.ui.RefreshableOnComponent; import com.intellij.ui.CollectionComboBoxModel; import com.intellij.ui.ComboboxWithBrowseButton; import com.intellij.ui.ListCellRendererWrapper; +import com.intellij.util.Consumer; import com.intellij.util.ui.UIUtil; import org.jetbrains.annotations.NotNull; @@ -146,9 +146,9 @@ public class ExternalToolsCheckinHandlerFactory extends CheckinHandlerFactory { if (id == null) { return; } - DataManager.getInstance().getDataContextFromFocus().doWhenDone(new AsyncResult.Handler() { + DataManager.getInstance().getDataContextFromFocus().doWhenDone(new Consumer() { @Override - public void run(final DataContext context) { + public void consume(final DataContext context) { UIUtil.invokeAndWaitIfNeeded(new Runnable() { @Override diff --git a/platform/platform-api/src/com/intellij/ide/util/treeView/AbstractTreeUi.java b/platform/platform-api/src/com/intellij/ide/util/treeView/AbstractTreeUi.java index 179a698e3f69..5fccbdcf6c8d 100644 --- a/platform/platform-api/src/com/intellij/ide/util/treeView/AbstractTreeUi.java +++ b/platform/platform-api/src/com/intellij/ide/util/treeView/AbstractTreeUi.java @@ -31,6 +31,7 @@ import com.intellij.ui.treeStructure.AlwaysExpandedTree; import com.intellij.ui.treeStructure.Tree; import com.intellij.util.Alarm; import com.intellij.util.ArrayUtil; +import com.intellij.util.Consumer; import com.intellij.util.concurrency.WorkerThread; import com.intellij.util.containers.ContainerUtil; import com.intellij.util.containers.HashSet; @@ -901,9 +902,9 @@ public class AbstractTreeUi { } } - result.doWhenDone(new AsyncResult.Handler() { + result.doWhenDone(new Consumer() { @Override - public void run(final Boolean changes) { + public void consume(final Boolean changes) { if (changes) { invokeLaterIfNeeded(false, new Runnable() { @Override @@ -1134,9 +1135,9 @@ public class AbstractTreeUi { final NodeDescriptor descriptor = (NodeDescriptor)userObject; final Object prevElement = getElementFromDescriptor(descriptor); if (prevElement == null) return; - update(descriptor, false).doWhenDone(new AsyncResult.Handler() { + update(descriptor, false).doWhenDone(new Consumer() { @Override - public void run(Boolean changes) { + public void consume(Boolean changes) { if (!isValid(descriptor)) { if (isInStructure(prevElement)) { getUpdater().addSubtreeToUpdateByElement(getTreeStructure().getParentElement(prevElement)); @@ -1391,9 +1392,9 @@ public class AbstractTreeUi { } collectNodesToInsert(descriptor, elementToIndexMap, node, expanded, loadedChildren) - .doWhenDone(new AsyncResult.Handler>() { + .doWhenDone(new Consumer>() { @Override - public void run(@NotNull final List nodesToInsert) { + public void consume(@NotNull final List nodesToInsert) { insertNodesInto(nodesToInsert, node); ActionCallback callback = updateNodesToInsert(nodesToInsert, pass, canSmartExpand, isChildNodeForceUpdate(node, forceUpdate, expanded)); callback.doWhenDone(new Runnable() { @@ -2247,9 +2248,9 @@ public class AbstractTreeUi { final ActionCallback update = new ActionCallback(); if (needToUpdate) { - update(childDescr, false).doWhenDone(new AsyncResult.Handler() { + update(childDescr, false).doWhenDone(new Consumer() { @Override - public void run(Boolean changes) { + public void consume(Boolean changes) { loadedChildren.putDescriptor(child, childDescr, changes); update.setDone(); } @@ -3009,9 +3010,9 @@ public class AbstractTreeUi { final ActionCallback result = new ActionCallback(); final Ref childDesc = new Ref(childDescriptor); - update.doWhenDone(new AsyncResult.Handler() { + update.doWhenDone(new Consumer() { @Override - public void run(Boolean isChanged) { + public void consume(Boolean isChanged) { final AtomicBoolean changes = new AtomicBoolean(isChanged); final AtomicBoolean forceRemapping = new AtomicBoolean(); final Ref newElement = new Ref(getElementFromDescriptor(childDesc.get())); @@ -3036,9 +3037,9 @@ public class AbstractTreeUi { childNode.setUserObject(childDesc.get()); newElement.set(elementFromMap); forceRemapping.set(true); - update(childDesc.get(), false).doWhenDone(new AsyncResult.Handler() { + update(childDesc.get(), false).doWhenDone(new Consumer() { @Override - public void run(Boolean isChanged) { + public void consume(Boolean isChanged) { changes.set(isChanged); updateIndexDone.setDone(isChanged); } @@ -4003,9 +4004,9 @@ public class AbstractTreeUi { myRevalidatedObjects.add(element); AsyncResult revalidated = getBuilder().revalidateElement(element); - revalidated.doWhenDone(new AsyncResult.Handler() { + revalidated.doWhenDone(new Consumer() { @Override - public void run(final Object o) { + public void consume(final Object o) { invokeLaterIfNeeded(false, new Runnable() { @Override public void run() { diff --git a/platform/platform-api/src/com/intellij/ui/switcher/QuickActionManager.java b/platform/platform-api/src/com/intellij/ui/switcher/QuickActionManager.java index b867a8f27d9f..bcc0c719c30d 100644 --- a/platform/platform-api/src/com/intellij/ui/switcher/QuickActionManager.java +++ b/platform/platform-api/src/com/intellij/ui/switcher/QuickActionManager.java @@ -24,7 +24,7 @@ import com.intellij.openapi.components.ProjectComponent; import com.intellij.openapi.project.DumbAware; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.popup.JBPopupFactory; -import com.intellij.openapi.util.AsyncResult; +import com.intellij.util.Consumer; import org.jetbrains.annotations.NotNull; import java.awt.*; @@ -62,8 +62,8 @@ public class QuickActionManager implements ProjectComponent { } private void showActionsPopup() { - DataManager.getInstance().getDataContextFromFocus().doWhenDone(new AsyncResult.Handler() { - public void run(DataContext context) { + DataManager.getInstance().getDataContextFromFocus().doWhenDone(new Consumer() { + public void consume(DataContext context) { QuickActionProvider provider = QuickActionProvider.KEY.getData(context); if (provider == null) return; diff --git a/platform/platform-api/src/com/intellij/ui/switcher/SwitchManager.java b/platform/platform-api/src/com/intellij/ui/switcher/SwitchManager.java index 47583ae9aa46..e3ecb9f4d4c8 100644 --- a/platform/platform-api/src/com/intellij/ui/switcher/SwitchManager.java +++ b/platform/platform-api/src/com/intellij/ui/switcher/SwitchManager.java @@ -17,17 +17,20 @@ package com.intellij.ui.switcher; import com.intellij.ide.DataManager; import com.intellij.openapi.Disposable; -import com.intellij.openapi.actionSystem.*; +import com.intellij.openapi.actionSystem.ActionManager; +import com.intellij.openapi.actionSystem.AnAction; +import com.intellij.openapi.actionSystem.AnActionEvent; +import com.intellij.openapi.actionSystem.DataContext; import com.intellij.openapi.actionSystem.ex.AnActionListener; import com.intellij.openapi.components.ProjectComponent; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.ActionCallback; -import com.intellij.openapi.util.AsyncResult; import com.intellij.openapi.util.Disposer; import com.intellij.openapi.util.registry.Registry; import com.intellij.openapi.wm.IdeFocusManager; import com.intellij.openapi.wm.IdeFrame; import com.intellij.util.Alarm; +import com.intellij.util.Consumer; import com.intellij.util.ui.UIUtil; import org.intellij.lang.annotations.JdkConstants; import org.jetbrains.annotations.NotNull; @@ -229,8 +232,9 @@ public class SwitchManager implements ProjectComponent, KeyEventDispatcher, AnAc final ActionCallback result = new ActionCallback(); if (isSessionActive()) { final boolean showSpots = mySession.isShowspots(); - mySession.finish(false).doWhenDone(new AsyncResult.Handler() { - public void run(final SwitchTarget switchTarget) { + mySession.finish(false).doWhenDone(new Consumer() { + @Override + public void consume(final SwitchTarget switchTarget) { mySession = null; IdeFocusManager.getGlobalInstance().doWhenFocusSettlesDown(new Runnable() { public void run() { diff --git a/platform/platform-api/src/com/intellij/util/ui/update/LazyUiDisposable.java b/platform/platform-api/src/com/intellij/util/ui/update/LazyUiDisposable.java index 647da084659e..8d5b392c2e1e 100644 --- a/platform/platform-api/src/com/intellij/util/ui/update/LazyUiDisposable.java +++ b/platform/platform-api/src/com/intellij/util/ui/update/LazyUiDisposable.java @@ -25,6 +25,7 @@ import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.AsyncResult; import com.intellij.openapi.util.Disposer; +import com.intellij.util.Consumer; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -54,8 +55,8 @@ public abstract class LazyUiDisposable implements Activata if (myWasEverShown) return; try { - findParentDisposable().doWhenDone(new AsyncResult.Handler() { - public void run(Disposable parent) { + findParentDisposable().doWhenDone(new Consumer() { + public void consume(Disposable parent) { Project project = null; if (ApplicationManager.getApplication() != null) { project = CommonDataKeys.PROJECT.getData(DataManager.getInstance().getDataContext()); @@ -85,8 +86,8 @@ public abstract class LazyUiDisposable implements Activata if (defaultValue == null) { if (ApplicationManager.getApplication() != null) { final AsyncResult result = new AsyncResult(); - DataManager.getInstance().getDataContextFromFocus().doWhenDone(new AsyncResult.Handler() { - public void run(DataContext context) { + DataManager.getInstance().getDataContextFromFocus().doWhenDone(new Consumer() { + public void consume(DataContext context) { Disposable disposable = key.getData(context); if (disposable == null) { disposable = Disposer.get("ui"); diff --git a/platform/platform-impl/src/com/intellij/ide/actions/ShowFilePathAction.java b/platform/platform-impl/src/com/intellij/ide/actions/ShowFilePathAction.java index 6f10421f8b86..3bc0a11bc4b8 100644 --- a/platform/platform-impl/src/com/intellij/ide/actions/ShowFilePathAction.java +++ b/platform/platform-impl/src/com/intellij/ide/actions/ShowFilePathAction.java @@ -25,7 +25,6 @@ import com.intellij.openapi.actionSystem.AnAction; import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.actionSystem.CommonDataKeys; import com.intellij.openapi.actionSystem.DataContext; -import com.intellij.openapi.actionSystem.PlatformDataKeys; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.application.impl.LaterInvocator; import com.intellij.openapi.diagnostic.Logger; @@ -36,7 +35,6 @@ import com.intellij.openapi.ui.popup.JBPopupFactory; import com.intellij.openapi.ui.popup.ListPopup; import com.intellij.openapi.ui.popup.PopupStep; import com.intellij.openapi.ui.popup.util.BaseListPopupStep; -import com.intellij.openapi.util.AsyncResult; import com.intellij.openapi.util.AtomicNotNullLazyValue; import com.intellij.openapi.util.NotNullLazyValue; import com.intellij.openapi.util.SystemInfo; @@ -45,6 +43,7 @@ import com.intellij.openapi.vfs.JarFileSystem; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.openapi.vfs.VirtualFileSystem; import com.intellij.ui.awt.RelativePoint; +import com.intellij.util.Consumer; import com.intellij.util.ui.EmptyIcon; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -143,9 +142,9 @@ public class ShowFilePathAction extends AnAction { public void actionPerformed(AnActionEvent e) { show(getFile(e), new ShowAction() { public void show(final ListPopup popup) { - DataManager.getInstance().getDataContextFromFocus().doWhenDone(new AsyncResult.Handler() { + DataManager.getInstance().getDataContextFromFocus().doWhenDone(new Consumer() { @Override - public void run(DataContext context) { + public void consume(DataContext context) { popup.showInBestPositionFor(context); } }); diff --git a/platform/platform-impl/src/com/intellij/ide/actions/Switcher.java b/platform/platform-impl/src/com/intellij/ide/actions/Switcher.java index b8924a293b1e..8696faa2b7a0 100644 --- a/platform/platform-impl/src/com/intellij/ide/actions/Switcher.java +++ b/platform/platform-impl/src/com/intellij/ide/actions/Switcher.java @@ -36,7 +36,10 @@ import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.GraphicsConfig; import com.intellij.openapi.ui.popup.JBPopup; import com.intellij.openapi.ui.popup.JBPopupFactory; -import com.intellij.openapi.util.*; +import com.intellij.openapi.util.Computable; +import com.intellij.openapi.util.Condition; +import com.intellij.openapi.util.Iconable; +import com.intellij.openapi.util.Pair; import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.vcs.FileStatus; @@ -53,10 +56,7 @@ import com.intellij.ui.*; import com.intellij.ui.components.JBList; import com.intellij.ui.speedSearch.NameFilteringListModel; import com.intellij.ui.speedSearch.SpeedSearchUtil; -import com.intellij.util.Alarm; -import com.intellij.util.ArrayUtil; -import com.intellij.util.Function; -import com.intellij.util.IconUtil; +import com.intellij.util.*; import com.intellij.util.containers.ContainerUtil; import com.intellij.util.ui.StatusText; import com.intellij.util.ui.UIUtil; @@ -935,9 +935,9 @@ public class Switcher extends AnAction implements DumbAware { @Override public void run() { - DataManager.getInstance().getDataContextFromFocus().doWhenDone(new AsyncResult.Handler() { + DataManager.getInstance().getDataContextFromFocus().doWhenDone(new Consumer() { @Override - public void run(final DataContext context) { + public void consume(final DataContext context) { final DataContext dataContext = new DataContext() { @Nullable @Override diff --git a/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/EditorTabbedContainer.java b/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/EditorTabbedContainer.java index 21c216f45141..58bee7d576c9 100644 --- a/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/EditorTabbedContainer.java +++ b/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/EditorTabbedContainer.java @@ -51,6 +51,7 @@ import com.intellij.ui.switcher.SwitchTarget; import com.intellij.ui.tabs.*; import com.intellij.ui.tabs.impl.JBEditorTabs; import com.intellij.ui.tabs.impl.JBTabsImpl; +import com.intellij.util.Consumer; import com.intellij.util.ui.AwtVisitor; import com.intellij.util.ui.TimedDeadzone; import com.intellij.util.ui.UIUtil; @@ -483,9 +484,9 @@ public final class EditorTabbedContainer implements Disposable, CloseAction.Clos final FileEditorManagerEx mgr = FileEditorManagerEx.getInstanceEx(myProject); AsyncResult window = mgr.getActiveWindow(); - window.doWhenDone(new AsyncResult.Handler() { + window.doWhenDone(new Consumer() { @Override - public void run(EditorWindow wnd) { + public void consume(EditorWindow wnd) { if (wnd != null) { if (wnd.findFileComposite(file) != null) { mgr.closeFile(file, wnd); diff --git a/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/FileEditorManagerImpl.java b/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/FileEditorManagerImpl.java index 6190a7d29b7c..9b6c8955f029 100644 --- a/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/FileEditorManagerImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/FileEditorManagerImpl.java @@ -68,6 +68,7 @@ import com.intellij.ui.docking.DockContainer; import com.intellij.ui.docking.DockManager; import com.intellij.ui.docking.impl.DockManagerImpl; import com.intellij.ui.tabs.impl.JBTabsImpl; +import com.intellij.util.Consumer; import com.intellij.util.containers.ContainerUtil; import com.intellij.util.messages.MessageBusConnection; import com.intellij.util.messages.impl.MessageListenerList; @@ -523,9 +524,9 @@ public class FileEditorManagerImpl extends FileEditorManagerEx implements Projec @NotNull private AsyncResult _getActiveWindow(boolean now) { final AsyncResult result = new AsyncResult(); - getActiveSplitters(now).doWhenDone(new AsyncResult.Handler() { + getActiveSplitters(now).doWhenDone(new Consumer() { @Override - public void run(EditorsSplitters editorsSplitters) { + public void consume(EditorsSplitters editorsSplitters) { result.setDone(editorsSplitters.getCurrentWindow()); } }); diff --git a/platform/platform-impl/src/com/intellij/openapi/ui/playback/commands/CallCommand.java b/platform/platform-impl/src/com/intellij/openapi/ui/playback/commands/CallCommand.java index 6e7142710b9f..d6552b46d7e6 100644 --- a/platform/platform-impl/src/com/intellij/openapi/ui/playback/commands/CallCommand.java +++ b/platform/platform-impl/src/com/intellij/openapi/ui/playback/commands/CallCommand.java @@ -93,9 +93,9 @@ public class CallCommand extends AbstractCommand { return new ActionCallback.Rejected(); } - result.doWhenDone(new AsyncResult.Handler() { + result.doWhenDone(new Consumer() { @Override - public void run(String s) { + public void consume(String s) { if (s != null) { context.message(s, getLine()); } diff --git a/platform/platform-impl/src/com/intellij/openapi/ui/playback/util/EditorPlaybackCall.java b/platform/platform-impl/src/com/intellij/openapi/ui/playback/util/EditorPlaybackCall.java index f229d5ef8b33..cb31a4d4c688 100644 --- a/platform/platform-impl/src/com/intellij/openapi/ui/playback/util/EditorPlaybackCall.java +++ b/platform/platform-impl/src/com/intellij/openapi/ui/playback/util/EditorPlaybackCall.java @@ -26,6 +26,7 @@ import com.intellij.openapi.ui.playback.PlaybackContext; import com.intellij.openapi.util.AsyncResult; import com.intellij.openapi.util.Disposer; import com.intellij.openapi.util.TextRange; +import com.intellij.util.Consumer; import com.intellij.util.messages.MessageBusConnection; public class EditorPlaybackCall { @@ -76,9 +77,9 @@ public class EditorPlaybackCall { }); - WindowSystemPlaybackCall.findProject().doWhenDone(new AsyncResult.Handler() { + WindowSystemPlaybackCall.findProject().doWhenDone(new Consumer() { @Override - public void run(Project project) { + public void consume(Project project) { final MessageBusConnection bus = project.getMessageBus().connect(connection); bus.subscribe(DaemonCodeAnalyzer.DAEMON_EVENT_TOPIC, new DaemonCodeAnalyzer.DaemonListenerAdapter() { @Override diff --git a/platform/platform-impl/src/com/intellij/openapi/ui/playback/util/WindowSystemPlaybackCall.java b/platform/platform-impl/src/com/intellij/openapi/ui/playback/util/WindowSystemPlaybackCall.java index ed2b8b2ddc50..fe8ea086b56a 100644 --- a/platform/platform-impl/src/com/intellij/openapi/ui/playback/util/WindowSystemPlaybackCall.java +++ b/platform/platform-impl/src/com/intellij/openapi/ui/playback/util/WindowSystemPlaybackCall.java @@ -30,6 +30,7 @@ import com.intellij.openapi.wm.IdeFocusManager; import com.intellij.openapi.wm.IdeFrame; import com.intellij.openapi.wm.ToolWindow; import com.intellij.openapi.wm.ToolWindowManager; +import com.intellij.util.Consumer; import com.intellij.util.ui.UIUtil; import javax.swing.*; @@ -144,9 +145,9 @@ public class WindowSystemPlaybackCall { public static AsyncResult waitForToolWindow(final PlaybackContext context, final String id) { final AsyncResult result = new AsyncResult(); - findProject().doWhenDone(new AsyncResult.Handler() { + findProject().doWhenDone(new Consumer() { @Override - public void run(Project project) { + public void consume(Project project) { ToolWindow toolWindow = ToolWindowManager.getInstance(project).getToolWindow(id); if (toolWindow == null) { result.setRejected("Cannot find tool window with id: " + id); @@ -256,9 +257,9 @@ public class WindowSystemPlaybackCall { if (each.getComponent() instanceof AbstractButton) { final AbstractButton eachButton = (AbstractButton)each.getComponent(); if (eachButton.getText() != null && eachButton.getText().startsWith(target)) { - activateItem(context, each).doWhenDone(new AsyncResult.Handler() { + activateItem(context, each).doWhenDone(new Consumer() { @Override - public void run(MenuElement[] menuElements) { + public void consume(MenuElement[] menuElements) { selectNext(context, toSelect, toSelectIndex + 1, menuElements, result); } }).doWhenRejected(new Runnable() { diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/abstraction/StaticMethodOnlyUsedInOneClassInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/abstraction/StaticMethodOnlyUsedInOneClassInspection.java index c59f7e567af8..e777d95e84d6 100644 --- a/plugins/InspectionGadgets/src/com/siyeh/ig/abstraction/StaticMethodOnlyUsedInOneClassInspection.java +++ b/plugins/InspectionGadgets/src/com/siyeh/ig/abstraction/StaticMethodOnlyUsedInOneClassInspection.java @@ -24,6 +24,7 @@ import com.intellij.openapi.util.AsyncResult; import com.intellij.psi.*; import com.intellij.refactoring.RefactoringActionHandler; import com.intellij.refactoring.RefactoringActionHandlerFactory; +import com.intellij.util.Consumer; import com.intellij.util.IncorrectOperationException; import com.siyeh.InspectionGadgetsBundle; import com.siyeh.ig.InspectionGadgetsFix; @@ -66,9 +67,9 @@ public class StaticMethodOnlyUsedInOneClassInspection extends StaticMethodOnlyUs final PsiMethod method = (PsiMethod)location.getParent(); final RefactoringActionHandler moveHandler = RefactoringActionHandlerFactory.getInstance().createMoveHandler(); final AsyncResult result = DataManager.getInstance().getDataContextFromFocus(); - result.doWhenDone(new AsyncResult.Handler() { + result.doWhenDone(new Consumer() { @Override - public void run(final DataContext originalContext) { + public void consume(final DataContext originalContext) { final DataContext dataContext = new DataContext() { @Override public Object getData(@NonNls String name) { diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/classlayout/PublicConstructorInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/classlayout/PublicConstructorInspection.java index 08aec6c5ab5f..c2f9cc0810b1 100644 --- a/plugins/InspectionGadgets/src/com/siyeh/ig/classlayout/PublicConstructorInspection.java +++ b/plugins/InspectionGadgets/src/com/siyeh/ig/classlayout/PublicConstructorInspection.java @@ -27,6 +27,7 @@ import com.intellij.psi.PsiMethod; import com.intellij.psi.util.PsiTreeUtil; import com.intellij.refactoring.JavaRefactoringActionHandlerFactory; import com.intellij.refactoring.RefactoringActionHandler; +import com.intellij.util.Consumer; import com.intellij.util.IncorrectOperationException; import com.siyeh.InspectionGadgetsBundle; import com.siyeh.ig.InspectionGadgetsFix; @@ -62,9 +63,9 @@ public class PublicConstructorInspection extends PublicConstructorInspectionBase protected void doFix(final Project project, ProblemDescriptor descriptor) throws IncorrectOperationException { final PsiElement element = PsiTreeUtil.getParentOfType(descriptor.getPsiElement(), PsiClass.class, PsiMethod.class); final AsyncResult context = DataManager.getInstance().getDataContextFromFocus(); - context.doWhenDone(new AsyncResult.Handler() { + context.doWhenDone(new Consumer() { @Override - public void run(DataContext dataContext) { + public void consume(DataContext dataContext) { final JavaRefactoringActionHandlerFactory factory = JavaRefactoringActionHandlerFactory.getInstance(); final RefactoringActionHandler handler = factory.createReplaceConstructorWithFactoryHandler(); handler.invoke(project, new PsiElement[]{element}, dataContext); diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/fixes/IntroduceVariableFix.java b/plugins/InspectionGadgets/src/com/siyeh/ig/fixes/IntroduceVariableFix.java index 34980b76736c..e5fb283abdb4 100644 --- a/plugins/InspectionGadgets/src/com/siyeh/ig/fixes/IntroduceVariableFix.java +++ b/plugins/InspectionGadgets/src/com/siyeh/ig/fixes/IntroduceVariableFix.java @@ -26,6 +26,7 @@ import com.intellij.psi.PsiMethodCallExpression; import com.intellij.psi.util.PsiTreeUtil; import com.intellij.refactoring.JavaRefactoringActionHandlerFactory; import com.intellij.refactoring.RefactoringActionHandler; +import com.intellij.util.Consumer; import com.intellij.util.IncorrectOperationException; import com.siyeh.InspectionGadgetsBundle; import com.siyeh.ig.InspectionGadgetsFix; @@ -72,9 +73,9 @@ public class IntroduceVariableFix extends InspectionGadgetsFix { } final RefactoringActionHandler handler = JavaRefactoringActionHandlerFactory.getInstance().createIntroduceVariableHandler(); final AsyncResult dataContextContainer = DataManager.getInstance().getDataContextFromFocus(); - dataContextContainer.doWhenDone(new AsyncResult.Handler() { + dataContextContainer.doWhenDone(new Consumer() { @Override - public void run(DataContext dataContext) { + public void consume(DataContext dataContext) { handler.invoke(project, new PsiElement[]{expression}, dataContext); } }); diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/fixes/RenameFix.java b/plugins/InspectionGadgets/src/com/siyeh/ig/fixes/RenameFix.java index 30889e547214..624cc3620418 100644 --- a/plugins/InspectionGadgets/src/com/siyeh/ig/fixes/RenameFix.java +++ b/plugins/InspectionGadgets/src/com/siyeh/ig/fixes/RenameFix.java @@ -25,6 +25,7 @@ import com.intellij.refactoring.RefactoringFactory; import com.intellij.refactoring.RenameRefactoring; import com.intellij.refactoring.rename.RenameHandler; import com.intellij.refactoring.rename.RenameHandlerRegistry; +import com.intellij.util.Consumer; import com.siyeh.InspectionGadgetsBundle; import com.siyeh.ig.InspectionGadgetsFix; import org.jetbrains.annotations.NonNls; @@ -78,9 +79,9 @@ public class RenameFix extends InspectionGadgetsFix { final PsiElement elementToRename = nameIdentifier.getParent(); if (m_targetName == null) { final AsyncResult contextFromFocus = DataManager.getInstance().getDataContextFromFocus(); - contextFromFocus.doWhenDone(new AsyncResult.Handler() { + contextFromFocus.doWhenDone(new Consumer() { @Override - public void run(DataContext context) { + public void consume(DataContext context) { final RenameHandler renameHandler = RenameHandlerRegistry.getInstance().getRenameHandler(context); if (renameHandler == null) { return; diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/javadoc/PackageDotHtmlMayBePackageInfoInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/javadoc/PackageDotHtmlMayBePackageInfoInspection.java index 07e372368c59..4263d8663dc3 100644 --- a/plugins/InspectionGadgets/src/com/siyeh/ig/javadoc/PackageDotHtmlMayBePackageInfoInspection.java +++ b/plugins/InspectionGadgets/src/com/siyeh/ig/javadoc/PackageDotHtmlMayBePackageInfoInspection.java @@ -32,6 +32,7 @@ import com.intellij.psi.javadoc.PsiDocComment; import com.intellij.psi.xml.XmlFile; import com.intellij.psi.xml.XmlTag; import com.intellij.psi.xml.XmlTagValue; +import com.intellij.util.Consumer; import com.siyeh.InspectionGadgetsBundle; import com.siyeh.ig.InspectionGadgetsFix; import org.jetbrains.annotations.NonNls; @@ -155,10 +156,9 @@ public class PackageDotHtmlMayBePackageInfoInspection extends PackageDotHtmlMayB return; } final AsyncResult dataContextFromFocus = DataManager.getInstance().getDataContextFromFocus(); - dataContextFromFocus.doWhenDone( - new AsyncResult.Handler() { + dataContextFromFocus.doWhenDone(new Consumer() { @Override - public void run(DataContext dataContext) { + public void consume(DataContext dataContext) { final FileEditorManager editorManager = FileEditorManager.getInstance(project); final VirtualFile virtualFile = file.getVirtualFile(); if (virtualFile == null) { diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/utils/MavenAttachSourcesProvider.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/utils/MavenAttachSourcesProvider.java index af4ca281707c..b76a9f1404f9 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/utils/MavenAttachSourcesProvider.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/utils/MavenAttachSourcesProvider.java @@ -26,6 +26,7 @@ import com.intellij.openapi.roots.ProjectRootManager; import com.intellij.openapi.util.ActionCallback; import com.intellij.openapi.util.AsyncResult; import com.intellij.psi.PsiFile; +import com.intellij.util.Consumer; import gnu.trove.THashSet; import org.jetbrains.annotations.NotNull; import org.jetbrains.idea.maven.importing.MavenRootModelAdapter; @@ -73,8 +74,8 @@ public class MavenAttachSourcesProvider implements AttachSourcesProvider { final ActionCallback resultWrapper = new ActionCallback(); - result.doWhenDone(new AsyncResult.Handler() { - public void run(MavenArtifactDownloader.DownloadResult downloadResult) { + result.doWhenDone(new Consumer() { + public void consume(MavenArtifactDownloader.DownloadResult downloadResult) { if (!downloadResult.unresolvedSources.isEmpty()) { final StringBuilder message = new StringBuilder(); diff --git a/plugins/maven/src/test/java/org/jetbrains/idea/maven/MavenImportingTestCase.java b/plugins/maven/src/test/java/org/jetbrains/idea/maven/MavenImportingTestCase.java index e1b0d39108d8..1da55a178665 100644 --- a/plugins/maven/src/test/java/org/jetbrains/idea/maven/MavenImportingTestCase.java +++ b/plugins/maven/src/test/java/org/jetbrains/idea/maven/MavenImportingTestCase.java @@ -45,6 +45,7 @@ import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.vfs.VfsUtil; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.testFramework.IdeaTestUtil; +import com.intellij.util.Consumer; import com.intellij.util.PathUtil; import com.intellij.util.concurrency.Semaphore; import com.intellij.util.ui.UIUtil; @@ -497,9 +498,9 @@ public abstract class MavenImportingTestCase extends MavenTestCase { final MavenArtifactDownloader.DownloadResult[] unresolved = new MavenArtifactDownloader.DownloadResult[1]; AsyncResult result = new AsyncResult(); - result.doWhenDone(new AsyncResult.Handler() { + result.doWhenDone(new Consumer() { @Override - public void run(MavenArtifactDownloader.DownloadResult unresolvedArtifacts) { + public void consume(MavenArtifactDownloader.DownloadResult unresolvedArtifacts) { unresolved[0] = unresolvedArtifacts; } }); diff --git a/python/src/com/jetbrains/python/codeInsight/imports/ImportFromExistingAction.java b/python/src/com/jetbrains/python/codeInsight/imports/ImportFromExistingAction.java index 8cbacec17bfa..9102e54fbf58 100644 --- a/python/src/com/jetbrains/python/codeInsight/imports/ImportFromExistingAction.java +++ b/python/src/com/jetbrains/python/codeInsight/imports/ImportFromExistingAction.java @@ -26,13 +26,13 @@ import com.intellij.openapi.editor.colors.EditorColorsScheme; import com.intellij.openapi.project.Project; import com.intellij.openapi.roots.ProjectFileIndex; import com.intellij.openapi.ui.popup.PopupChooserBuilder; -import com.intellij.openapi.util.AsyncResult; import com.intellij.openapi.util.Comparing; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.*; import com.intellij.ui.SimpleColoredComponent; import com.intellij.ui.SimpleTextAttributes; import com.intellij.ui.components.JBList; +import com.intellij.util.Consumer; import com.jetbrains.python.PyBundle; import com.jetbrains.python.psi.*; import org.jetbrains.annotations.NotNull; @@ -113,9 +113,9 @@ public class ImportFromExistingAction implements QuestionAction { } }; - DataManager.getInstance().getDataContextFromFocus().doWhenDone(new AsyncResult.Handler() { + DataManager.getInstance().getDataContextFromFocus().doWhenDone(new Consumer() { @Override - public void run(DataContext dataContext) { + public void consume(DataContext dataContext) { new PopupChooserBuilder(list). setTitle(myUseQualifiedImport? PyBundle.message("ACT.qualify.with.module") : PyBundle.message("ACT.from.some.module.import")). setItemChoosenCallback(runnable).