refactorings: do not touch text occurences if find usages prohibit such searches (IDEA-57319 )

This commit is contained in:
anna
2010-08-09 19:56:00 +04:00
parent 5ce12d6658
commit 88d6d35d9f
2 changed files with 9 additions and 2 deletions

View File

@@ -23,7 +23,7 @@ public class FindUsagesUtil {
private FindUsagesUtil() {
}
static boolean isSearchForTextOccurencesAvailable(PsiElement element, boolean isSingleFile, FindUsagesHandler handler) {
public static boolean isSearchForTextOccurencesAvailable(PsiElement element, boolean isSingleFile, FindUsagesHandler handler) {
if (isSingleFile) return false;
return handler != null && handler.isSearchForTextOccurencesAvailable(element, isSingleFile);

View File

@@ -16,6 +16,11 @@
package com.intellij.refactoring.util;
import com.intellij.find.FindManager;
import com.intellij.find.findUsages.FindUsagesHandler;
import com.intellij.find.findUsages.FindUsagesManager;
import com.intellij.find.findUsages.FindUsagesUtil;
import com.intellij.find.impl.FindManagerImpl;
import com.intellij.lang.ASTNode;
import com.intellij.lang.LanguageParserDefinitions;
import com.intellij.lang.ParserDefinition;
@@ -145,7 +150,9 @@ public class TextOccurrencesUtil {
}
public static boolean isSearchTextOccurencesEnabled(@NotNull PsiElement element) {
return ElementDescriptionUtil.getElementDescription(element, NonCodeSearchDescriptionLocation.NON_JAVA) != null;
final FindUsagesManager findUsagesManager = ((FindManagerImpl)FindManager.getInstance(element.getProject())).getFindUsagesManager();
final FindUsagesHandler handler = findUsagesManager.getFindUsagesHandler(element, false);
return FindUsagesUtil.isSearchForTextOccurencesAvailable(element, false, handler);
}
public interface UsageInfoFactory {