mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
show 'Preview' if usages in generated code are found during rename/move refactoring (IDEA-128194)
This commit is contained in:
+1
-5
@@ -23,7 +23,6 @@ import com.intellij.openapi.util.Comparing;
|
||||
import com.intellij.openapi.util.Ref;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.openapi.wm.WindowManager;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.search.GlobalSearchScope;
|
||||
import com.intellij.psi.search.PackageScope;
|
||||
@@ -48,7 +47,6 @@ import com.intellij.refactoring.util.classRefs.ClassReferenceScanner;
|
||||
import com.intellij.usageView.UsageInfo;
|
||||
import com.intellij.usageView.UsageViewDescriptor;
|
||||
import com.intellij.usageView.UsageViewUtil;
|
||||
import com.intellij.util.ArrayUtil;
|
||||
import com.intellij.util.IncorrectOperationException;
|
||||
import com.intellij.util.Processor;
|
||||
import com.intellij.util.VisibilityUtil;
|
||||
@@ -472,9 +470,7 @@ public class MoveClassesOrPackagesProcessor extends BaseRefactoringProcessor {
|
||||
}
|
||||
|
||||
protected boolean isPreviewUsages(UsageInfo[] usages) {
|
||||
if (UsageViewUtil.hasNonCodeUsages(usages)) {
|
||||
WindowManager.getInstance().getStatusBar(myProject).setInfo(
|
||||
RefactoringBundle.message("occurrences.found.in.comments.strings.and.non.java.files"));
|
||||
if (UsageViewUtil.reportNonRegularUsages(usages, myProject)) {
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
|
||||
@@ -320,11 +320,7 @@ public class RenameProcessor extends BaseRefactoringProcessor {
|
||||
protected boolean isPreviewUsages(UsageInfo[] usages) {
|
||||
if (myForceShowPreview) return true;
|
||||
if (super.isPreviewUsages(usages)) return true;
|
||||
if (UsageViewUtil.hasNonCodeUsages(usages)) {
|
||||
WindowManager.getInstance().getStatusBar(myProject)
|
||||
.setInfo(RefactoringBundle.message("occurrences.found.in.comments.strings.and.non.java.files"));
|
||||
return true;
|
||||
}
|
||||
if (UsageViewUtil.reportNonRegularUsages(usages, myProject)) return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -26,7 +26,6 @@ import com.intellij.openapi.extensions.Extensions;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.Condition;
|
||||
import com.intellij.openapi.util.Ref;
|
||||
import com.intellij.openapi.wm.WindowManager;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.search.GlobalSearchScope;
|
||||
import com.intellij.psi.search.searches.ReferencesSearch;
|
||||
@@ -40,7 +39,9 @@ import com.intellij.refactoring.safeDelete.usageInfo.SafeDeleteCustomUsageInfo;
|
||||
import com.intellij.refactoring.safeDelete.usageInfo.SafeDeleteReferenceSimpleDeleteUsageInfo;
|
||||
import com.intellij.refactoring.safeDelete.usageInfo.SafeDeleteReferenceUsageInfo;
|
||||
import com.intellij.refactoring.safeDelete.usageInfo.SafeDeleteUsageInfo;
|
||||
import com.intellij.refactoring.util.*;
|
||||
import com.intellij.refactoring.util.NonCodeSearchDescriptionLocation;
|
||||
import com.intellij.refactoring.util.RefactoringUIUtil;
|
||||
import com.intellij.refactoring.util.TextOccurrencesUtil;
|
||||
import com.intellij.usageView.UsageInfo;
|
||||
import com.intellij.usageView.UsageViewDescriptor;
|
||||
import com.intellij.usageView.UsageViewUtil;
|
||||
@@ -352,8 +353,7 @@ public class SafeDeleteProcessor extends BaseRefactoringProcessor {
|
||||
|
||||
@Override
|
||||
protected boolean isPreviewUsages(UsageInfo[] usages) {
|
||||
if(myPreviewNonCodeUsages && (UsageViewUtil.hasNonCodeUsages(usages) || UsageViewUtil.hasUsagesInGeneratedCode(usages, myProject))) {
|
||||
WindowManager.getInstance().getStatusBar(myProject).setInfo(RefactoringBundle.message("occurrences.found.in.comments.strings.non.java.files.and.generated.code"));
|
||||
if(myPreviewNonCodeUsages && UsageViewUtil.reportNonRegularUsages(usages, myProject)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -24,10 +24,13 @@ import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.roots.GeneratedSourcesFilter;
|
||||
import com.intellij.openapi.util.TextRange;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.openapi.wm.StatusBar;
|
||||
import com.intellij.openapi.wm.WindowManager;
|
||||
import com.intellij.psi.ElementDescriptionUtil;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.intellij.psi.PsiReference;
|
||||
import com.intellij.refactoring.RefactoringBundle;
|
||||
import com.intellij.refactoring.util.MoveRenameUsageInfo;
|
||||
import com.intellij.refactoring.util.NonCodeUsageInfo;
|
||||
import com.intellij.usages.Usage;
|
||||
@@ -179,4 +182,17 @@ public class UsageViewUtil {
|
||||
}
|
||||
return usageInfos;
|
||||
}
|
||||
|
||||
public static boolean reportNonRegularUsages(UsageInfo[] usages, final Project project) {
|
||||
boolean inGeneratedCode = hasUsagesInGeneratedCode(usages, project);
|
||||
if (hasNonCodeUsages(usages) || inGeneratedCode) {
|
||||
StatusBar statusBar = WindowManager.getInstance().getStatusBar(project);
|
||||
if (statusBar != null) {
|
||||
statusBar.setInfo(inGeneratedCode ? RefactoringBundle.message("occurrences.found.in.comments.strings.non.java.files.and.generated.code")
|
||||
: RefactoringBundle.message("occurrences.found.in.comments.strings.and.non.java.files"));
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user