collapse hierarchy: do not push down supersuper twice

This commit is contained in:
anna
2010-07-27 16:51:35 +04:00
parent 1f39da9514
commit 168d489e88
9 changed files with 18 additions and 5 deletions

View File

@@ -21,22 +21,22 @@
package com.intellij.refactoring.inlineSuperClass.usageInfo;
import com.intellij.psi.PsiClass;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiJavaCodeReferenceElement;
import com.intellij.refactoring.safeDelete.usageInfo.SafeDeleteExtendsClassUsageInfo;
import com.intellij.refactoring.util.FixableUsageInfo;
import com.intellij.util.IncorrectOperationException;
public class ReplaceExtendsListUsageInfo extends FixableUsageInfo {
private final SafeDeleteExtendsClassUsageInfo mySafeDeleteUsageInfo;
public ReplaceExtendsListUsageInfo(PsiJavaCodeReferenceElement element, final PsiClass superClass, final PsiClass targetClass) {
super(element);
mySafeDeleteUsageInfo = new SafeDeleteExtendsClassUsageInfo(element, superClass, targetClass);
}
public void fixUsage() throws IncorrectOperationException {
if (mySafeDeleteUsageInfo.isSafeDelete()) {
mySafeDeleteUsageInfo.deleteElement();
final PsiElement element = getElement();
if (element != null) {
element.delete();
}
}
}

View File

@@ -0,0 +1 @@
class Test implements ISuper {}

View File

@@ -0,0 +1,2 @@
class Test1 implements ISuper {
}

View File

@@ -0,0 +1 @@
public interface Super extends ISuper{}

View File

@@ -0,0 +1 @@
class Test implements Super {}

View File

@@ -0,0 +1,2 @@
class Test1 implements Super{
}

View File

@@ -168,6 +168,10 @@ public class InlineSuperClassTest extends MultiFileTestCase {
doTestMultipleSubclasses();
}
public void testMultipleSubclassesInheritsOneBaseBase() throws Exception {
doTestMultipleSubclasses();
}
private void doTestMultipleSubclasses() throws Exception {
doTest(new PerformAction() {
public void performAction(final VirtualFile rootDir, final VirtualFile rootAfter) throws Exception {