mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-01-04 17:20:55 +07:00
collapse hierarchy: do not push down supersuper twice
This commit is contained in:
@@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
interface ISuper {}
|
||||
@@ -0,0 +1 @@
|
||||
class Test implements ISuper {}
|
||||
@@ -0,0 +1,2 @@
|
||||
class Test1 implements ISuper {
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
interface ISuper {}
|
||||
@@ -0,0 +1 @@
|
||||
public interface Super extends ISuper{}
|
||||
@@ -0,0 +1 @@
|
||||
class Test implements Super {}
|
||||
@@ -0,0 +1,2 @@
|
||||
class Test1 implements Super{
|
||||
}
|
||||
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user