From b568285c3a03b37c5fcfb38fd52e40b32c67dbfe Mon Sep 17 00:00:00 2001 From: "Gregory.Shrago" Date: Wed, 22 Jun 2016 21:22:18 +0300 Subject: [PATCH] cleanup --- .../src/com/intellij/psi/SyntaxTraverser.java | 95 +++++++++---------- .../impl/ChameleonSyntaxHighlightingPass.java | 3 +- 2 files changed, 48 insertions(+), 50 deletions(-) diff --git a/platform/core-api/src/com/intellij/psi/SyntaxTraverser.java b/platform/core-api/src/com/intellij/psi/SyntaxTraverser.java index 92b39674745c..fec17c619b0b 100644 --- a/platform/core-api/src/com/intellij/psi/SyntaxTraverser.java +++ b/platform/core-api/src/com/intellij/psi/SyntaxTraverser.java @@ -112,17 +112,17 @@ public class SyntaxTraverser extends FilteredTraverserBase expandTypes(@NotNull Condition c) { - return super.expand(compose(api.TO_TYPE(), c)); + return super.expand(compose(api.TO_TYPE, c)); } @NotNull public SyntaxTraverser filterTypes(@NotNull Condition c) { - return super.filter(compose(api.TO_TYPE(), c)); + return super.filter(compose(api.TO_TYPE, c)); } @NotNull public SyntaxTraverser forceDisregardTypes(@NotNull Condition c) { - return super.forceDisregard(compose(api.TO_TYPE(), c)); + return super.forceDisregard(compose(api.TO_TYPE, c)); } @Nullable @@ -167,53 +167,45 @@ public class SyntaxTraverser extends FilteredTraverserBase TO_TYPE() { - return new Function() { - @Override - public IElementType fun(T t) { - return typeOf(t); - } + public final Function TO_TYPE = new Function() { + @Override + public IElementType fun(T t) { + return typeOf(t); + } - @Override - public String toString() { - return "TO_TYPE"; - } - }; - } + @Override + public String toString() { + return "TO_TYPE"; + } + }; - @NotNull - public Function TO_TEXT() { - return new Function() { - @Override - public CharSequence fun(T t) { - return textOf(t); - } + public final Function TO_TEXT = new Function() { + @Override + public CharSequence fun(T t) { + return textOf(t); + } - @Override - public String toString() { - return "TO_TEXT"; - } - }; - } + @Override + public String toString() { + return "TO_TEXT"; + } + }; - @NotNull - public Function TO_RANGE() { - return new Function() { - @Override - public TextRange fun(T t) { - return rangeOf(t); - } + public final Function TO_RANGE = new Function() { + @Override + public TextRange fun(T t) { + return rangeOf(t); + } - @Override - public String toString() { - return "TO_RANGE"; - } - }; - } + @Override + public String toString() { + return "TO_RANGE"; + } + }; } public abstract static class ApiEx extends Api { + @Nullable public abstract T first(@NotNull T node); @@ -231,13 +223,20 @@ public class SyntaxTraverser extends FilteredTraverserBase children(@NotNull final T node) { final T first = first(node); if (first == null) return JBIterable.empty(); - return JBIterable.generate(first, new Function() { - @Override - public T fun(T t) { - return next(t); - } - }); + return JBIterable.generate(first, TO_NEXT); } + + private final Function TO_NEXT = new Function() { + @Override + public T fun(T t) { + return next(t); + } + + @Override + public String toString() { + return "TO_NEXT"; + } + }; } private static class PsiApi extends ApiEx { diff --git a/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/ChameleonSyntaxHighlightingPass.java b/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/ChameleonSyntaxHighlightingPass.java index 7cb2261a77b7..ad158ac9f390 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/ChameleonSyntaxHighlightingPass.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/ChameleonSyntaxHighlightingPass.java @@ -31,7 +31,6 @@ import com.intellij.openapi.fileTypes.SyntaxHighlighter; import com.intellij.openapi.fileTypes.SyntaxHighlighterFactory; import com.intellij.openapi.progress.ProgressIndicator; import com.intellij.openapi.project.Project; -import com.intellij.openapi.util.Condition; import com.intellij.openapi.util.TextRange; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiFile; @@ -97,7 +96,7 @@ class ChameleonSyntaxHighlightingPass extends TextEditorHighlightingPass { TextAttributes defaultAttrs = scheme.getAttributes(HighlighterColors.TEXT); SyntaxTraverser s = psiTraverser(myFile). - expand(compose(psiApi().TO_RANGE(), range -> range.intersects(myStartOffset, myEndOffset))).filterTypes(instanceOf(ILazyParseableElementType.class)).filterTypes(notInstanceOf(IFileElementType.class)); + expand(compose(psiApi().TO_RANGE, range -> range.intersects(myStartOffset, myEndOffset))).filterTypes(instanceOf(ILazyParseableElementType.class)).filterTypes(notInstanceOf(IFileElementType.class)); List infos = ContainerUtil.newArrayList();