mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-26 00:56:00 +07:00
inline superclass refactoring: allow to collapse only one inheritance (IDEA-93319)
This commit is contained in:
@@ -0,0 +1,3 @@
|
||||
abstract class Super {
|
||||
public abstract void method() {}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
class Test {
|
||||
public void context() {
|
||||
method();
|
||||
}
|
||||
|
||||
public void method() {}
|
||||
}
|
||||
|
||||
class Test1 extends Super {
|
||||
@Override
|
||||
public void method() {}
|
||||
}
|
||||
|
||||
class U {
|
||||
Super t = new Test1();
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
abstract class Super {
|
||||
public abstract void method() {}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
class Test extends Super{
|
||||
public void context() {
|
||||
super.method();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void method() {}
|
||||
}
|
||||
|
||||
class Test1 extends Super {
|
||||
@Override
|
||||
public void method() {}
|
||||
}
|
||||
|
||||
class U {
|
||||
Super t = new Test1();
|
||||
}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
abstract class Super {
|
||||
public abstract void method() {}
|
||||
}
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
class Test {
|
||||
public void context() {
|
||||
method();
|
||||
}
|
||||
|
||||
public void method() {}
|
||||
}
|
||||
|
||||
class Test1 {
|
||||
public void method() {}
|
||||
}
|
||||
|
||||
class U {
|
||||
Test t = new Test1();
|
||||
}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
abstract class Super {
|
||||
public abstract void method() {}
|
||||
}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
class Test extends Super{
|
||||
public void context() {
|
||||
super.method();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void method() {}
|
||||
}
|
||||
|
||||
class Test1 extends Super {
|
||||
@Override
|
||||
public void method() {}
|
||||
}
|
||||
|
||||
class U {
|
||||
Super t = new Test();
|
||||
}
|
||||
@@ -27,6 +27,10 @@ public class InlineSuperClassTest extends MultiFileTestCase {
|
||||
}
|
||||
|
||||
private void doTest(final boolean fail) throws Exception {
|
||||
doTest(fail, false);
|
||||
}
|
||||
|
||||
private void doTest(final boolean fail, final boolean inlineOne) throws Exception {
|
||||
try {
|
||||
doTest(new PerformAction() {
|
||||
@Override
|
||||
@@ -41,7 +45,7 @@ public class InlineSuperClassTest extends MultiFileTestCase {
|
||||
if (superClass == null) superClass = myJavaFacade.findClass("p1.Super", GlobalSearchScope.allScope(myProject));
|
||||
assertNotNull("Class Super not found", superClass);
|
||||
|
||||
new InlineSuperClassRefactoringProcessor(getProject(), superClass, DocCommentPolicy.ASIS, aClass).run();
|
||||
new InlineSuperClassRefactoringProcessor(getProject(), inlineOne ? aClass : null, superClass, DocCommentPolicy.ASIS, aClass).run();
|
||||
|
||||
//LocalFileSystem.getInstance().refresh(false);
|
||||
//FileDocumentManager.getInstance().saveAllDocuments();
|
||||
@@ -61,6 +65,14 @@ public class InlineSuperClassTest extends MultiFileTestCase {
|
||||
}
|
||||
}
|
||||
|
||||
public void testInlineOneClass() throws Exception {
|
||||
doTest(false, true);
|
||||
}
|
||||
|
||||
public void testInlineOneClassWithConflicts() throws Exception {
|
||||
doTest(true, true);
|
||||
}
|
||||
|
||||
public void testAbstractOverrides() throws Exception {
|
||||
doTest();
|
||||
}
|
||||
@@ -184,7 +196,7 @@ public class InlineSuperClassTest extends MultiFileTestCase {
|
||||
PsiClass superClass = myJavaFacade.findClass("Super", GlobalSearchScope.allScope(myProject));
|
||||
if (superClass == null) superClass = myJavaFacade.findClass("p1.Super", GlobalSearchScope.allScope(myProject));
|
||||
assertNotNull("Class Super not found", superClass);
|
||||
new InlineSuperClassRefactoringProcessor(getProject(), superClass, DocCommentPolicy.ASIS,
|
||||
new InlineSuperClassRefactoringProcessor(getProject(), null, superClass, DocCommentPolicy.ASIS,
|
||||
myJavaFacade.findClass("Test", GlobalSearchScope.allScope(myProject)),
|
||||
myJavaFacade.findClass("Test1", GlobalSearchScope.allScope(myProject))).run();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user