mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
moved to psi
This commit is contained in:
@@ -53,6 +53,7 @@ import com.intellij.refactoring.util.RefactoringUtil;
|
||||
import com.intellij.refactoring.util.classMembers.MemberInfo;
|
||||
import com.intellij.usageView.UsageInfo;
|
||||
import com.intellij.usageView.UsageViewDescriptor;
|
||||
import com.intellij.usageView.UsageViewUtil;
|
||||
import com.intellij.util.IncorrectOperationException;
|
||||
import com.intellij.util.VisibilityUtil;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
@@ -320,7 +321,7 @@ public class ExtractClassProcessor extends FixableUsagesRefactoringProcessor {
|
||||
super.performRefactoring(usageInfos);
|
||||
if (myNewVisibility == null) return;
|
||||
for (PsiMember member : members) {
|
||||
VisibilityUtil.fixVisibility(usageInfos, member, myNewVisibility);
|
||||
VisibilityUtil.fixVisibility(UsageViewUtil.toElements(usageInfos), member, myNewVisibility);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+3
-2
@@ -24,6 +24,7 @@ import com.intellij.psi.PsiClass;
|
||||
import com.intellij.psi.PsiMethod;
|
||||
import com.intellij.refactoring.util.FixableUsageInfo;
|
||||
import com.intellij.usageView.UsageInfo;
|
||||
import com.intellij.usageView.UsageViewUtil;
|
||||
import com.intellij.util.IncorrectOperationException;
|
||||
import com.intellij.util.VisibilityUtil;
|
||||
|
||||
@@ -46,9 +47,9 @@ public class BeanClassVisibilityUsageInfo extends FixableUsageInfo {
|
||||
|
||||
@Override
|
||||
public void fixUsage() throws IncorrectOperationException {
|
||||
VisibilityUtil.fixVisibility(usages, existingClass, myNewVisibility);
|
||||
VisibilityUtil.fixVisibility(UsageViewUtil.toElements(usages), existingClass, myNewVisibility);
|
||||
if (myExistingClassCompatibleConstructor != null) {
|
||||
VisibilityUtil.fixVisibility(usages, myExistingClassCompatibleConstructor, myNewVisibility);
|
||||
VisibilityUtil.fixVisibility(UsageViewUtil.toElements(usages), myExistingClassCompatibleConstructor, myNewVisibility);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+2
-1
@@ -34,6 +34,7 @@ import com.intellij.refactoring.move.MoveInstanceMembersUtil;
|
||||
import com.intellij.refactoring.util.*;
|
||||
import com.intellij.usageView.UsageInfo;
|
||||
import com.intellij.usageView.UsageViewDescriptor;
|
||||
import com.intellij.usageView.UsageViewUtil;
|
||||
import com.intellij.util.IncorrectOperationException;
|
||||
import com.intellij.util.VisibilityUtil;
|
||||
import com.intellij.util.containers.HashSet;
|
||||
@@ -245,7 +246,7 @@ public class MoveInstanceMethodProcessor extends BaseRefactoringProcessor{
|
||||
for (PsiReference reference : docRefs) {
|
||||
reference.bindToElement(method);
|
||||
}
|
||||
VisibilityUtil.fixVisibility(usages, method, myNewVisibility);
|
||||
VisibilityUtil.fixVisibility(UsageViewUtil.toElements(usages), method, myNewVisibility);
|
||||
}
|
||||
catch (IncorrectOperationException e) {
|
||||
LOG.error(e);
|
||||
|
||||
+3
-2
@@ -203,7 +203,7 @@ public class MoveMembersProcessor extends BaseRefactoringProcessor {
|
||||
final PsiElement anchor;
|
||||
if (anchorsInSourceClass.containsKey(member)) {
|
||||
final PsiMember memberInSourceClass = anchorsInSourceClass.get(member);
|
||||
//anchor should be already moved as myMembersToMove contains members in order they appear in source class
|
||||
//anchor should be already moved as myMembersToMove contains members in order they appear in source class
|
||||
anchor = memberInSourceClass != null ? movedMembers.get(memberInSourceClass) : null;
|
||||
}
|
||||
else {
|
||||
@@ -258,7 +258,8 @@ public class MoveMembersProcessor extends BaseRefactoringProcessor {
|
||||
filtered.add(usage);
|
||||
}
|
||||
}
|
||||
VisibilityUtil.fixVisibility(filtered.toArray(new UsageInfo[filtered.size()]), newMember, myNewVisibility);
|
||||
UsageInfo[] infos = filtered.toArray(new UsageInfo[filtered.size()]);
|
||||
VisibilityUtil.fixVisibility(UsageViewUtil.toElements(infos), newMember, myNewVisibility);
|
||||
}
|
||||
|
||||
protected boolean preprocessUsages(Ref<UsageInfo[]> refUsages) {
|
||||
|
||||
+4
-6
@@ -19,7 +19,7 @@
|
||||
* User: dsl
|
||||
* Date: 07.06.2002
|
||||
* Time: 18:48:01
|
||||
* To change template for new class use
|
||||
* To change template for new class use
|
||||
* Code Style | Class Templates options (Tools | IDE Options).
|
||||
*/
|
||||
package com.intellij.util;
|
||||
@@ -28,7 +28,6 @@ import com.intellij.psi.*;
|
||||
import com.intellij.psi.util.InheritanceUtil;
|
||||
import com.intellij.psi.util.PsiTreeUtil;
|
||||
import com.intellij.psi.util.PsiUtil;
|
||||
import com.intellij.usageView.UsageInfo;
|
||||
import org.jetbrains.annotations.Nls;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
|
||||
@@ -46,7 +45,7 @@ public class VisibilityUtil {
|
||||
}
|
||||
|
||||
public static int compare(@PsiModifier.ModifierConstant String v1, @PsiModifier.ModifierConstant String v2) {
|
||||
return ArrayUtil.find(visibilityModifiers, v2) - ArrayUtil.find(visibilityModifiers, v1);
|
||||
return ArrayUtilRt.find(visibilityModifiers, v2) - ArrayUtilRt.find(visibilityModifiers, v1);
|
||||
}
|
||||
|
||||
@PsiModifier.ModifierConstant
|
||||
@@ -123,11 +122,10 @@ public class VisibilityUtil {
|
||||
return PsiBundle.visibilityPresentation(modifier);
|
||||
}
|
||||
|
||||
public static void fixVisibility(UsageInfo[] usageInfos, PsiMember member, @PsiModifier.ModifierConstant String newVisibility) {
|
||||
public static void fixVisibility(PsiElement[] elements, PsiMember member, @PsiModifier.ModifierConstant String newVisibility) {
|
||||
if (newVisibility == null) return;
|
||||
if (ESCALATE_VISIBILITY.equals(newVisibility)) {
|
||||
for (UsageInfo info : usageInfos) {
|
||||
final PsiElement element = info.getElement();
|
||||
for (PsiElement element : elements) {
|
||||
if (element != null) {
|
||||
escalateVisibility(member, element);
|
||||
}
|
||||
-2
@@ -26,8 +26,6 @@ public interface RefactoringTransaction {
|
||||
/**
|
||||
* Returns listener for element (element must belong to set of affected elements).
|
||||
* Refactorings should call appropriate methods of a listener, giving a modified (or new) element.
|
||||
* @param element
|
||||
* @return
|
||||
*/
|
||||
RefactoringElementListener getElementListener(PsiElement element);
|
||||
|
||||
|
||||
@@ -25,6 +25,8 @@ import com.intellij.psi.PsiFile;
|
||||
import com.intellij.psi.PsiReference;
|
||||
import com.intellij.refactoring.util.MoveRenameUsageInfo;
|
||||
import com.intellij.refactoring.util.NonCodeUsageInfo;
|
||||
import com.intellij.util.Function;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.Arrays;
|
||||
@@ -123,4 +125,15 @@ public class UsageViewUtil {
|
||||
final int size = collection.size();
|
||||
return size == 0 ? UsageInfo.EMPTY_ARRAY : collection.toArray(new UsageInfo[size]);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public static PsiElement[] toElements(@NotNull UsageInfo[] usageInfos) {
|
||||
return ContainerUtil.map2Array(usageInfos, PsiElement.class, new Function<UsageInfo, PsiElement>() {
|
||||
@Override
|
||||
public PsiElement fun(UsageInfo info) {
|
||||
return info.getElement();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user