mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-26 19:06:24 +07:00
IDEA-66936 move classes with static and aliased imports
This commit is contained in:
+6
-1
@@ -18,10 +18,13 @@ package com.intellij.refactoring.move.moveClassesOrPackages;
|
||||
import com.intellij.openapi.extensions.ExtensionPointName;
|
||||
import com.intellij.psi.PsiClass;
|
||||
import com.intellij.psi.PsiDirectory;
|
||||
import com.intellij.usageView.UsageInfo;
|
||||
import com.intellij.util.IncorrectOperationException;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* @author Maxim.Medvedev
|
||||
*/
|
||||
@@ -43,5 +46,7 @@ public interface MoveClassHandler {
|
||||
* @param clazz psiClass
|
||||
* @return null, if this instance of FileNameForPsiProvider cannot provide name for clazz
|
||||
*/
|
||||
String getName(PsiClass clazz);
|
||||
String getName(PsiClass clazz);
|
||||
|
||||
void preprocessUsages(Collection<UsageInfo> results);
|
||||
}
|
||||
|
||||
+8
-4
@@ -61,17 +61,21 @@ public class MoveClassesOrPackagesUtil {
|
||||
for (PsiReference reference : ReferencesSearch.search(element, projectScope, false)) {
|
||||
TextRange range = reference.getRangeInElement();
|
||||
if (foundReferences.contains(reference)) continue;
|
||||
results.add(
|
||||
new MoveRenameUsageInfo(reference.getElement(), reference, range.getStartOffset(), range.getEndOffset(),
|
||||
element, false));
|
||||
results.add(new MoveRenameUsageInfo(reference.getElement(), reference, range.getStartOffset(), range.getEndOffset(), element, false));
|
||||
foundReferences.add(reference);
|
||||
}
|
||||
|
||||
findNonCodeUsages(searchInStringsAndComments, searchInNonJavaFiles, element, newQName, results);
|
||||
|
||||
preprocessUsages(results);
|
||||
return results.toArray(new UsageInfo[results.size()]);
|
||||
}
|
||||
|
||||
private static void preprocessUsages(ArrayList<UsageInfo> results) {
|
||||
for (MoveClassHandler handler : MoveClassHandler.EP_NAME.getExtensions()) {
|
||||
handler.preprocessUsages(results);
|
||||
}
|
||||
}
|
||||
|
||||
private static String getQualfiedName(final PsiElement element) {
|
||||
final String oldQName;
|
||||
if (element instanceof PsiClass) {
|
||||
|
||||
+6
@@ -21,9 +21,11 @@ import com.intellij.openapi.fileTypes.StdFileTypes;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.javadoc.PsiDocComment;
|
||||
import com.intellij.psi.util.PsiTreeUtil;
|
||||
import com.intellij.usageView.UsageInfo;
|
||||
import com.intellij.util.IncorrectOperationException;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
@@ -134,4 +136,8 @@ public class MoveJavaClassHandler implements MoveClassHandler {
|
||||
if (!(file instanceof PsiJavaFile)) return null;
|
||||
return ((PsiJavaFile)file).getClasses().length > 1 ? clazz.getName() + "." + StdFileTypes.JAVA.getDefaultExtension() : file.getName();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void preprocessUsages(Collection<UsageInfo> results) {
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user