summaryrefslogtreecommitdiff
path: root/platform/structuralsearch/source/com/intellij/structuralsearch/impl/matcher/compiler/TestModeOptimizingSearchHelper.java
diff options
context:
space:
mode:
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.java70
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;
+ }
+}