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 @@ - +