From b4ad34874d41af3f1f3af25ddeed905c2185c4f8 Mon Sep 17 00:00:00 2001 From: Sergey Ignatov Date: Thu, 21 Nov 2019 21:44:38 +0300 Subject: [PATCH] mark elementsToHighlightFilter as dynamic GitOrigin-RevId: 480411a143bd5fcbcf6f42aaf3a2136cfa0f451e --- .../intellij/codeInsight/daemon/impl/Divider.java | 2 +- .../daemon/impl/CollectHighlightsUtil.java | 12 +++--------- .../src/META-INF/LangExtensionPoints.xml | 2 +- 3 files changed, 5 insertions(+), 11 deletions(-) diff --git a/platform/analysis-impl/src/com/intellij/codeInsight/daemon/impl/Divider.java b/platform/analysis-impl/src/com/intellij/codeInsight/daemon/impl/Divider.java index dc695cec51a1..e47ea6067c8f 100644 --- a/platform/analysis-impl/src/com/intellij/codeInsight/daemon/impl/Divider.java +++ b/platform/analysis-impl/src/com/intellij/codeInsight/daemon/impl/Divider.java @@ -94,7 +94,7 @@ public class Divider { int startOffset = restrictRange.getStartOffset(); int endOffset = restrictRange.getEndOffset(); - final Condition[] filters = CollectHighlightsUtil.FiltersHolder.FILTERS; + final Condition[] filters = CollectHighlightsUtil.EP_NAME.getExtensions(); final TIntStack starts = new TIntStack(STARTING_TREE_HEIGHT); starts.push(startOffset); diff --git a/platform/core-impl/src/com/intellij/codeInsight/daemon/impl/CollectHighlightsUtil.java b/platform/core-impl/src/com/intellij/codeInsight/daemon/impl/CollectHighlightsUtil.java index 63732b0c5b16..5e10dcafb1a3 100644 --- a/platform/core-impl/src/com/intellij/codeInsight/daemon/impl/CollectHighlightsUtil.java +++ b/platform/core-impl/src/com/intellij/codeInsight/daemon/impl/CollectHighlightsUtil.java @@ -19,7 +19,7 @@ import java.util.ArrayList; import java.util.List; public class CollectHighlightsUtil { - private static final ExtensionPointName> EP_NAME = ExtensionPointName.create("com.intellij.elementsToHighlightFilter"); + static final ExtensionPointName> EP_NAME = ExtensionPointName.create("com.intellij.elementsToHighlightFilter"); private static final Logger LOG = Logger.getInstance(CollectHighlightsUtil.class); @@ -52,16 +52,10 @@ public class CollectHighlightsUtil { private static final int STARTING_TREE_HEIGHT = 100; - static class FiltersHolder { - static final Condition[] FILTERS = EP_NAME.getExtensions(); - } @NotNull private static List getElementsToHighlight(@NotNull PsiElement parent, final int startOffset, final int endOffset) { final List result = new ArrayList<>(); - final int currentOffset = parent.getTextRange().getStartOffset(); - final Condition[] filters = FiltersHolder.FILTERS; - - int offset = currentOffset; + int offset = parent.getTextRange().getStartOffset(); final TIntStack starts = new TIntStack(STARTING_TREE_HEIGHT); final Stack elements = new Stack<>(STARTING_TREE_HEIGHT); @@ -72,7 +66,7 @@ public class CollectHighlightsUtil { while (true) { ProgressIndicatorProvider.checkCanceled(); - for (Condition filter : filters) { + for (Condition filter : EP_NAME.getExtensionList()) { if (!filter.value(element)) { assert child == PsiUtilCore.NULL_PSI_ELEMENT; child = null; // do not want to process children diff --git a/platform/platform-resources/src/META-INF/LangExtensionPoints.xml b/platform/platform-resources/src/META-INF/LangExtensionPoints.xml index da70e4619021..0ea1cb5c5cee 100644 --- a/platform/platform-resources/src/META-INF/LangExtensionPoints.xml +++ b/platform/platform-resources/src/META-INF/LangExtensionPoints.xml @@ -346,7 +346,7 @@ - +