reorder usage infos for safe delete to prevent invalidation

This commit is contained in:
Anna.Kozlova
2017-07-11 20:38:18 +02:00
parent b18b2d9b42
commit 861a66d048
4 changed files with 18 additions and 2 deletions

View File

@@ -0,0 +1,5 @@
class MyTest {
interface N<<caret>X> {}
N<? super N<? super N<? super N>>> k;
}

View File

@@ -0,0 +1,5 @@
class MyTest {
interface N {}
N k;
}

View File

@@ -245,6 +245,10 @@ public class SafeDeleteTest extends MultiFileTestCase {
doSingleFileTest();
}
public void testNestedTypeParameterBounds() throws Exception {
doSingleFileTest();
}
public void testLocalVariableSideEffect() throws Exception {
try {
doTest("Super");

View File

@@ -151,8 +151,10 @@ public class SafeDeleteProcessor extends BaseRefactoringProcessor {
addNonCodeUsages(element, usages, getDefaultInsideDeletedCondition(myElements), mySearchNonJava, mySearchInCommentsAndStrings);
}
}
final UsageInfo[] result = usages.toArray(new UsageInfo[usages.size()]);
return UsageViewUtil.removeDuplicatedUsages(result);
UsageInfo[] result = usages.toArray(new UsageInfo[usages.size()]);
result = UsageViewUtil.removeDuplicatedUsages(result);
Arrays.sort(result, (o1, o2) -> PsiUtilCore.compareElementsByPosition(o2.getElement(), o1.getElement()));
return result;
}
public static Condition<PsiElement> getDefaultInsideDeletedCondition(final PsiElement[] elements) {