diff --git a/java/java-impl/src/com/intellij/ide/hierarchy/type/TypeHierarchyTreeStructure.java b/java/java-impl/src/com/intellij/ide/hierarchy/type/TypeHierarchyTreeStructure.java index 1deefe7a13fe..b73747cc80be 100644 --- a/java/java-impl/src/com/intellij/ide/hierarchy/type/TypeHierarchyTreeStructure.java +++ b/java/java-impl/src/com/intellij/ide/hierarchy/type/TypeHierarchyTreeStructure.java @@ -16,9 +16,11 @@ package com.intellij.ide.hierarchy.type; import com.intellij.ide.hierarchy.HierarchyNodeDescriptor; +import com.intellij.openapi.application.AccessToken; import com.intellij.openapi.project.Project; import com.intellij.psi.CommonClassNames; import com.intellij.psi.PsiClass; +import com.intellij.util.SlowOperations; import org.jetbrains.annotations.NotNull; import java.util.ArrayList; @@ -31,6 +33,13 @@ public final class TypeHierarchyTreeStructure extends SubtypesHierarchyTreeStruc @NotNull private static HierarchyNodeDescriptor buildHierarchyElement(@NotNull Project project, @NotNull PsiClass aClass) { + try (AccessToken ignore = SlowOperations.knownIssue("IDEA-345476, EA-700938")) { + return buildHierarchyElementInner(project, aClass); + } + } + + @NotNull + private static HierarchyNodeDescriptor buildHierarchyElementInner(@NotNull Project project, @NotNull PsiClass aClass) { HierarchyNodeDescriptor descriptor = null; PsiClass[] superClasses = createSuperClasses(aClass); for(int i = superClasses.length - 1; i >= 0; i--){ diff --git a/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/ShowAutoImportPass.java b/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/ShowAutoImportPass.java index 37b32e133be4..6cb676ca3332 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/ShowAutoImportPass.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/ShowAutoImportPass.java @@ -125,7 +125,9 @@ public final class ShowAutoImportPass extends TextEditorHighlightingPass { private void importUnambiguousImports() { ThreadingAssertions.assertEventDispatchThread(); - if (!mayAutoImportNow(myFile, true, ThreeState.UNSURE)) return; + try (AccessToken ignore = SlowOperations.knownIssue("IDEA-335057, EA-843299")) { + if (!mayAutoImportNow(myFile, true, ThreeState.UNSURE)) return; + } for (BooleanSupplier autoImportAction : autoImportActions) { autoImportAction.getAsBoolean(); } @@ -134,8 +136,8 @@ public final class ShowAutoImportPass extends TextEditorHighlightingPass { public static boolean mayAutoImportNow(@NotNull PsiFile psiFile, boolean isInContent, @NotNull ThreeState extensionsAllowToChangeFileSilently) { return isAddUnambiguousImportsOnTheFlyEnabled(psiFile) && - (ApplicationManager.getApplication().isUnitTestMode() || DaemonListeners.canChangeFileSilently(psiFile, isInContent, - extensionsAllowToChangeFileSilently)) && + (ApplicationManager.getApplication().isUnitTestMode() || + DaemonListeners.canChangeFileSilently(psiFile, isInContent, extensionsAllowToChangeFileSilently)) && isInModelessContext(psiFile.getProject()); } @@ -148,7 +150,8 @@ public final class ShowAutoImportPass extends TextEditorHighlightingPass { public static boolean isAddUnambiguousImportsOnTheFlyEnabled(@NotNull PsiFile psiFile) { PsiFile templateFile = PsiUtilCore.getTemplateLanguageFile(psiFile); if (templateFile == null) return false; - return ContainerUtil.exists(ReferenceImporter.EP_NAME.getExtensionList(), importer -> importer.isAddUnambiguousImportsOnTheFlyEnabled(psiFile)); + return ContainerUtil.exists(ReferenceImporter.EP_NAME.getExtensionList(), + importer -> importer.isAddUnambiguousImportsOnTheFlyEnabled(psiFile)); } private static @NotNull List getVisibleHighlights(@NotNull TextRange visibleRange, diff --git a/platform/lang-impl/src/com/intellij/find/actions/ShowUsagesAction.java b/platform/lang-impl/src/com/intellij/find/actions/ShowUsagesAction.java index c230d417e4be..95db228bd21a 100644 --- a/platform/lang-impl/src/com/intellij/find/actions/ShowUsagesAction.java +++ b/platform/lang-impl/src/com/intellij/find/actions/ShowUsagesAction.java @@ -585,7 +585,7 @@ public final class ShowUsagesAction extends AnAction implements PopupAction, Hin UsageNode USAGES_OUTSIDE_SCOPE_NODE = new UsageNode(null, table.USAGES_OUTSIDE_SCOPE_SEPARATOR); UsageNode MORE_USAGES_SEPARATOR_NODE = new UsageNode(null, table.MORE_USAGES_SEPARATOR); - PingEDT pingEDT = new PingEDT("Rebuild popup in EDT", () -> popup.isDisposed(), 100, () -> { + Runnable runnable = () -> { if (popup.isDisposed()) return; List nodes = new ArrayList<>(usages.size()); @@ -641,6 +641,11 @@ public final class ShowUsagesAction extends AnAction implements PopupAction, Hin showUsagesPopupData.header.setStatusText(hasMore, visibleCount, totalCount); rebuildTable(project, originUsageCheck, data, table, popup, parameters.popupPosition, parameters.minWidth, manuallyResized); preselectedRow.set(getSelectedUsageNode(table)); + }; + PingEDT pingEDT = new PingEDT("Rebuild popup in EDT", () -> popup.isDisposed(), 100, () -> { + try (AccessToken ignore = SlowOperations.knownIssue("IDEA-346641, EA-830956")) { + runnable.run(); + } }); MessageBusConnection messageBusConnection = project.getMessageBus().connect(usageView);