push down: insert @Override if configured (IDEA-142456)

This commit is contained in:
Anna Kozlova
2015-07-16 21:04:49 +03:00
parent f2d7ef95a8
commit 6d08d4d580
4 changed files with 30 additions and 0 deletions
@@ -0,0 +1,6 @@
interface Test {
void bar();
}
class Child implements Test {
}
@@ -0,0 +1,8 @@
interface Test {
void bar();
}
class Child implements Test {
@Override
public abstract void bar();
}
@@ -63,6 +63,10 @@ public class PushDownTest extends LightRefactoringTestCase {
public void testInterfaceConstants() { doTest();}
public void testInsertOverrideWhenKeepAbstract() throws Exception {
doTestImplements(true);
}
private void doTest() {
doTest(false);
}
@@ -107,6 +111,10 @@ public class PushDownTest extends LightRefactoringTestCase {
}
private void doTestImplements() {
doTestImplements(false);
}
private void doTestImplements(boolean toAbstract) {
configureByFile(BASE_PATH + getTestName(false) + ".java");
PsiClass currentClass = JavaPsiFacade.getInstance(getProject()).findClass("Test", GlobalSearchScope.projectScope(getProject()));
@@ -114,6 +122,9 @@ public class PushDownTest extends LightRefactoringTestCase {
List<MemberInfo> members = memberInfoStorage.getClassMemberInfos(currentClass);
for (MemberInfo member : members) {
member.setChecked(true);
if (toAbstract) {
member.setToAbstract(toAbstract);
}
}
new PushDownProcessor(getProject(), members.toArray(new MemberInfo[members.size()]), currentClass,