mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
extract super class: pull up implements/extends
This commit is contained in:
@@ -0,0 +1,2 @@
|
||||
public abstract class Test implements java.util.List<String> {
|
||||
}
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
public abstract class TestSubclass extends Test {
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
public abstract class Test implements java.util.List<String>{
|
||||
}
|
||||
@@ -53,6 +53,10 @@ public class ExtractSuperClassTest extends CodeInsightTestCase {
|
||||
doTest("B", "AB");
|
||||
}
|
||||
|
||||
public void testExtendsList() throws Exception {
|
||||
doTest("Test", "TestSubclass", new PullUpTest.MemberDescriptor("List", PsiClass.class));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Sdk getTestProjectJdk() {
|
||||
return JavaSdkImpl.getMockJdk15("mock 1.5");
|
||||
|
||||
@@ -104,8 +104,22 @@ public class PullUpTest extends LightCodeInsightTestCase {
|
||||
final Class<? extends PsiMember> clazz = membersToFind[i].myClass;
|
||||
final String name = membersToFind[i].myName;
|
||||
PsiMember member = null;
|
||||
boolean overrides = false;
|
||||
PsiReferenceList refList = null;
|
||||
if (PsiClass.class.isAssignableFrom(clazz)) {
|
||||
member = sourceClass.findInnerClassByName(name, false);
|
||||
if (member == null) {
|
||||
final PsiClass[] supers = sourceClass.getSupers();
|
||||
for (PsiClass superTypeClass : supers) {
|
||||
if (superTypeClass.getName().equals(name)) {
|
||||
member = superTypeClass;
|
||||
overrides = true;
|
||||
refList = superTypeClass.isInterface() ? sourceClass.getImplementsList() : sourceClass.getExtendsList();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} else if (PsiMethod.class.isAssignableFrom(clazz)) {
|
||||
final PsiMethod[] methods = sourceClass.findMethodsByName(name, false);
|
||||
assertEquals(1, methods.length);
|
||||
@@ -115,7 +129,7 @@ public class PullUpTest extends LightCodeInsightTestCase {
|
||||
}
|
||||
|
||||
assertNotNull(member);
|
||||
infos[i] = new MemberInfo(member);
|
||||
infos[i] = new MemberInfo(member, overrides, refList);
|
||||
infos[i].setToAbstract(membersToFind[i].myAbstract);
|
||||
}
|
||||
return infos;
|
||||
|
||||
Reference in New Issue
Block a user