diff options
Diffstat (limited to 'platform/structuralsearch/source/com/intellij/structuralsearch/impl/matcher/compiler/TestModeOptimizingSearchHelper.java')
-rw-r--r-- | platform/structuralsearch/source/com/intellij/structuralsearch/impl/matcher/compiler/TestModeOptimizingSearchHelper.java | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/platform/structuralsearch/source/com/intellij/structuralsearch/impl/matcher/compiler/TestModeOptimizingSearchHelper.java b/platform/structuralsearch/source/com/intellij/structuralsearch/impl/matcher/compiler/TestModeOptimizingSearchHelper.java new file mode 100644 index 000000000000..e341b57da8ce --- /dev/null +++ b/platform/structuralsearch/source/com/intellij/structuralsearch/impl/matcher/compiler/TestModeOptimizingSearchHelper.java @@ -0,0 +1,70 @@ +package com.intellij.structuralsearch.impl.matcher.compiler; + +import com.intellij.psi.PsiFile; + +import java.util.Collections; +import java.util.Set; + +/** + * @author Maxim.Mossienko + */ +public class TestModeOptimizingSearchHelper extends OptimizingSearchHelperBase { + private static String lastString; + private final StringBuilder builder = new StringBuilder(); + private int lastLength; + + TestModeOptimizingSearchHelper(CompileContext _context) { + super(_context); + } + + public boolean doOptimizing() { + return true; + } + + public void clear() { + lastString = builder.toString(); + builder.setLength(0); + lastLength = 0; + } + + protected void doAddSearchWordInCode(final String refname) { + append(refname, "reserved in code:"); + } + + @Override + protected void doAddSearchWordInText(String refname) { + append(refname, "in text:"); + } + + private void append(final String refname, final String str) { + if (builder.length() == lastLength) builder.append("["); + else builder.append("|"); + builder.append(str).append(refname); + } + + protected void doAddSearchWordInComments(final String refname) { + append(refname, "in comments:"); + } + + protected void doAddSearchWordInLiterals(final String refname) { + append(refname, "in literals:"); + } + + public void endTransaction() { + super.endTransaction(); + builder.append("]"); + lastLength = builder.length(); + } + + public boolean isScannedSomething() { + return false; + } + + public Set<PsiFile> getFilesSetToScan() { + return Collections.emptySet(); + } + + public String getSearchPlan() { + return lastString; + } +} |