spellchecker: suggest only valid names for refactorings (IDEA-168428)

This commit is contained in:
Anna.Kozlova
2017-03-15 14:21:33 +01:00
parent 9eccba4ef5
commit 88f70f8e85
@@ -15,12 +15,13 @@
*/
package com.intellij.spellchecker.quickfixes;
import com.intellij.openapi.project.Project;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiNamedElement;
import com.intellij.psi.codeStyle.SuggestedNameInfo;
import com.intellij.refactoring.rename.PreferrableNameSuggestionProvider;
import com.intellij.refactoring.rename.RenameUtil;
import com.intellij.spellchecker.SpellCheckerManager;
import com.intellij.util.containers.ContainerUtil;
import java.util.Set;
@@ -53,9 +54,13 @@ public class DictionarySuggestionProvider extends PreferrableNameSuggestionProvi
return null;
}
SpellCheckerManager manager = SpellCheckerManager.getInstance(element.getProject());
Project project = element.getProject();
SpellCheckerManager manager = SpellCheckerManager.getInstance(project);
manager.getSuggestions(text).stream()
.filter(newName -> RenameUtil.isValidName(project, nameSuggestionContext, newName))
.forEach(result::add);
ContainerUtil.addAllNotNull(result, manager.getSuggestions(text));
return SuggestedNameInfo.NULL_INFO;
}
}