SSR: don't forget unmatched class content (Java)

This commit is contained in:
Bas Leijdekkers
2015-06-03 22:50:09 +02:00
parent 0761b6dfc3
commit b2e25c361e
2 changed files with 3 additions and 1 deletions
@@ -368,7 +368,7 @@ public class JavaCompilingVisitor extends JavaRecursiveElementWalkingVisitor {
String name = CompiledPattern.ALL_CLASS_UNMATCHED_CONTENT_VAR_ARTIFICIAL_NAME;
psiClass.putUserData(JavaCompiledPattern.ALL_CLASS_CONTENT_VAR_NAME_KEY, name);
MatchOptions options = myCompilingVisitor.getContext().getOptions();
if (options.getVariableConstraint(name) == null) {
if (pattern.getHandler(name) == null) {
pattern.createSubstitutionHandler(name, name, false, 0, Integer.MAX_VALUE, true);
MatchVariableConstraint constraint = new MatchVariableConstraint(true);
constraint.setName(name);
@@ -37,6 +37,7 @@ import com.intellij.psi.codeStyle.CodeStyleManager;
import com.intellij.psi.search.GlobalSearchScope;
import com.intellij.psi.search.SearchScope;
import com.intellij.structuralsearch.*;
import com.intellij.structuralsearch.impl.matcher.CompiledPattern;
import com.intellij.structuralsearch.impl.matcher.MatcherImpl;
import com.intellij.structuralsearch.plugin.StructuralSearchPlugin;
import com.intellij.ui.ComboboxSpeedSearch;
@@ -831,6 +832,7 @@ public class SearchDialog extends DialogWrapper {
variableNames.add(variable.getName());
}
variableNames.add(Configuration.CONTEXT_VAR_NAME);
variableNames.add(CompiledPattern.ALL_CLASS_UNMATCHED_CONTENT_VAR_ARTIFICIAL_NAME);
configuration.getMatchOptions().retainVariableConstraints(variableNames);
}