From 88f70f8e85ef04e857b873958076bed077f6bacf Mon Sep 17 00:00:00 2001 From: "Anna.Kozlova" Date: Wed, 15 Mar 2017 13:36:35 +0100 Subject: [PATCH] spellchecker: suggest only valid names for refactorings (IDEA-168428) --- .../quickfixes/DictionarySuggestionProvider.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/spellchecker/src/com/intellij/spellchecker/quickfixes/DictionarySuggestionProvider.java b/spellchecker/src/com/intellij/spellchecker/quickfixes/DictionarySuggestionProvider.java index 08086e1a6326..f05d0d874314 100644 --- a/spellchecker/src/com/intellij/spellchecker/quickfixes/DictionarySuggestionProvider.java +++ b/spellchecker/src/com/intellij/spellchecker/quickfixes/DictionarySuggestionProvider.java @@ -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; } }