From ce2c10c10f7750cc726ca480923e50a58c04392d Mon Sep 17 00:00:00 2001 From: "Gregory.Shrago" Date: Thu, 27 Aug 2015 20:49:00 +0300 Subject: [PATCH] Traverser: introduce psiTraverser(root), astTraverser(root) --- .../core-api/src/com/intellij/psi/SyntaxTraverser.java | 10 ++++++++++ .../util/containers/FilteredTraverserBase.java | 5 ++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/platform/core-api/src/com/intellij/psi/SyntaxTraverser.java b/platform/core-api/src/com/intellij/psi/SyntaxTraverser.java index 785de7e4b5ad..cff07563ccaa 100644 --- a/platform/core-api/src/com/intellij/psi/SyntaxTraverser.java +++ b/platform/core-api/src/com/intellij/psi/SyntaxTraverser.java @@ -47,6 +47,11 @@ public class SyntaxTraverser extends FilteredTraverserBase(psiApi(), null); } + @NotNull + public static SyntaxTraverser psiTraverser(@Nullable PsiElement root) { + return psiTraverser().withRoot(root); + } + @NotNull public static SyntaxTraverser revPsiTraverser() { return new SyntaxTraverser(psiApiReversed(), null); @@ -57,6 +62,11 @@ public class SyntaxTraverser extends FilteredTraverserBase(astApi(), null); } + @NotNull + public static SyntaxTraverser astTraverser(@Nullable ASTNode root) { + return astTraverser().withRoot(root); + } + @NotNull public static SyntaxTraverser lightTraverser(@NotNull PsiBuilder builder) { LighterASTApi api = new LighterASTApi(builder); diff --git a/platform/util/src/com/intellij/util/containers/FilteredTraverserBase.java b/platform/util/src/com/intellij/util/containers/FilteredTraverserBase.java index 86c31037247c..6b721e211ecb 100644 --- a/platform/util/src/com/intellij/util/containers/FilteredTraverserBase.java +++ b/platform/util/src/com/intellij/util/containers/FilteredTraverserBase.java @@ -22,7 +22,6 @@ import com.intellij.util.Function; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.util.Collections; import java.util.Iterator; import java.util.List; @@ -108,8 +107,8 @@ public abstract class FilteredTraverserBase