blob: e341b57da8ce9717697499418ca7888022632f04 [file] [log] [blame]
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;
}
}