mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
check methods moved to interface as default (IDEA-151809)
This commit is contained in:
@@ -85,7 +85,7 @@ public class PullUpConflictsUtil {
|
||||
for (MemberInfoBase<? extends PsiMember> info : infos) {
|
||||
PsiMember member = info.getMember();
|
||||
if (member instanceof PsiMethod) {
|
||||
if (!info.isToAbstract() && !isInterfaceTarget) {
|
||||
if (!info.isToAbstract()) {
|
||||
movedMembers.add(member);
|
||||
}
|
||||
else {
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
interface IPlanet {}
|
||||
|
||||
class SimplePlanet implements IPlanet {
|
||||
double mass;
|
||||
|
||||
private double ma<caret>ss() {
|
||||
return mass;
|
||||
}
|
||||
}
|
||||
@@ -25,7 +25,6 @@ import com.intellij.refactoring.listeners.MoveMemberListener;
|
||||
import com.intellij.refactoring.memberPullUp.PullUpConflictsUtil;
|
||||
import com.intellij.refactoring.memberPullUp.PullUpProcessor;
|
||||
import com.intellij.refactoring.util.DocCommentPolicy;
|
||||
import com.intellij.refactoring.util.classMembers.InterfaceContainmentVerifier;
|
||||
import com.intellij.refactoring.util.classMembers.MemberInfo;
|
||||
import com.intellij.testFramework.IdeaTestUtil;
|
||||
import com.intellij.util.containers.MultiMap;
|
||||
@@ -100,6 +99,11 @@ public class PullUpTest extends LightRefactoringTestCase {
|
||||
doTest(true, "Functional expression demands functional interface to have exact one method", new RefactoringTestUtil.MemberDescriptor("get", PsiMethod.class, true));
|
||||
}
|
||||
|
||||
public void testPullToInterfaceAsDefault() throws Exception {
|
||||
setLanguageLevel(LanguageLevel.JDK_1_8);
|
||||
doTest(true, "Method <b><code>mass()</code></b> uses field <b><code>SimplePlanet.mass</code></b>, which is not moved to the superclass", new RefactoringTestUtil.MemberDescriptor("mass", PsiMethod.class, false));
|
||||
}
|
||||
|
||||
public void testStillFunctional() {
|
||||
setLanguageLevel(LanguageLevel.JDK_1_8);
|
||||
doTest(true, new RefactoringTestUtil.MemberDescriptor("get", PsiMethod.class, false));
|
||||
|
||||
Reference in New Issue
Block a user