diff --git a/platform/analysis-impl/src/com/intellij/codeInsight/daemon/impl/InspectionVisitorOptimizer.java b/platform/analysis-impl/src/com/intellij/codeInsight/daemon/impl/InspectionVisitorOptimizer.java index e0c4308ded9a..7ecdc432daa4 100644 --- a/platform/analysis-impl/src/com/intellij/codeInsight/daemon/impl/InspectionVisitorOptimizer.java +++ b/platform/analysis-impl/src/com/intellij/codeInsight/daemon/impl/InspectionVisitorOptimizer.java @@ -24,6 +24,7 @@ import com.intellij.psi.impl.source.tree.CompositePsiElement; import com.intellij.psi.impl.source.tree.LeafElement; import com.intellij.psi.impl.source.tree.TreeElement; import com.intellij.util.ArrayUtil; +import com.intellij.util.ClearableClassValue; import com.intellij.util.containers.CollectionFactory; import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; @@ -132,9 +133,14 @@ public final class InspectionVisitorOptimizer { return accepts; } - private static final ClassValue[]> SELF_AND_SUPERS = new ClassValue<>() { + @ApiStatus.Internal + public static void clearCache() { + SELF_AND_SUPERS.clear(); + } + + private static final ClearableClassValue[]> SELF_AND_SUPERS = new ClearableClassValue[]>() { @Override - protected Class @NotNull [] computeValue(@NotNull Class type) { + public Class @NotNull [] computeValueImpl(@NotNull Class type) { return getAllSupers(type); } diff --git a/platform/platform-impl/src/com/intellij/ide/plugins/DynamicPlugins.kt b/platform/platform-impl/src/com/intellij/ide/plugins/DynamicPlugins.kt index 93fa424aa04f..e44f503866dd 100644 --- a/platform/platform-impl/src/com/intellij/ide/plugins/DynamicPlugins.kt +++ b/platform/platform-impl/src/com/intellij/ide/plugins/DynamicPlugins.kt @@ -3,6 +3,7 @@ package com.intellij.ide.plugins import com.fasterxml.jackson.databind.type.TypeFactory import com.intellij.DynamicBundle.LanguageBundleEP +import com.intellij.codeInsight.daemon.impl.InspectionVisitorOptimizer import com.intellij.configurationStore.jdomSerializer import com.intellij.configurationStore.runInAutoSaveDisabledMode import com.intellij.configurationStore.saveProjectsAndApp @@ -550,6 +551,7 @@ object DynamicPlugins { jdomSerializer.clearSerializationCaches() clearPropertyCollectorCache() + InspectionVisitorOptimizer.clearCache() TypeFactory.defaultInstance().clearCache() TopHitCache.getInstance().clear() ActionToolbarImpl.resetAllToolbars()