diff options
Diffstat (limited to 'java/structuralsearch-java/src/com/intellij/structuralsearch/impl/matcher/filters/JavaLexicalNodesFilter.java')
-rw-r--r-- | java/structuralsearch-java/src/com/intellij/structuralsearch/impl/matcher/filters/JavaLexicalNodesFilter.java | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/java/structuralsearch-java/src/com/intellij/structuralsearch/impl/matcher/filters/JavaLexicalNodesFilter.java b/java/structuralsearch-java/src/com/intellij/structuralsearch/impl/matcher/filters/JavaLexicalNodesFilter.java new file mode 100644 index 000000000000..1c86acda3e83 --- /dev/null +++ b/java/structuralsearch-java/src/com/intellij/structuralsearch/impl/matcher/filters/JavaLexicalNodesFilter.java @@ -0,0 +1,37 @@ +package com.intellij.structuralsearch.impl.matcher.filters; + +import com.intellij.psi.*; +import com.intellij.psi.javadoc.PsiDocComment; + +/** +* @author Eugene.Kudelevsky +*/ +public class JavaLexicalNodesFilter extends JavaElementVisitor { + private final LexicalNodesFilter myLexicalNodesFilter; + + public JavaLexicalNodesFilter(LexicalNodesFilter lexicalNodesFilter) { + this.myLexicalNodesFilter = lexicalNodesFilter; + } + + @Override public void visitJavaToken(final PsiJavaToken t) { + myLexicalNodesFilter.setResult(true); + } + + @Override public void visitComment(final PsiComment comment) { + } + + @Override public void visitDocComment(final PsiDocComment comment) { + } + + @Override public void visitKeyword(PsiKeyword keyword) { + myLexicalNodesFilter.setResult(!myLexicalNodesFilter.isCareKeyWords()); + } + + @Override public void visitWhiteSpace(final PsiWhiteSpace space) { + myLexicalNodesFilter.setResult(true); + } + + @Override public void visitErrorElement(final PsiErrorElement element) { + myLexicalNodesFilter.setResult(true); + } +} |