From e5604d0b2129d68ddad22f274fcbb90e545b9410 Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Tue, 29 May 2018 17:23:23 +0300 Subject: [PATCH] extract super: ensure moved members order (IDEA-192850) --- .../refactoring/memberPullUp/PullUpProcessor.java | 4 ++-- .../parameterNameEqualsFieldName/after/Test.java | 4 +++- .../parameterNameEqualsFieldName/after/TestSubclass.java | 8 ++++---- .../parameterNameEqualsFieldName/before/Test.java | 4 +++- .../intellij/java/refactoring/ExtractSuperClassTest.java | 2 +- 5 files changed, 13 insertions(+), 9 deletions(-) diff --git a/java/java-impl/src/com/intellij/refactoring/memberPullUp/PullUpProcessor.java b/java/java-impl/src/com/intellij/refactoring/memberPullUp/PullUpProcessor.java index 8ccd5e4be4a8..96927382397e 100644 --- a/java/java-impl/src/com/intellij/refactoring/memberPullUp/PullUpProcessor.java +++ b/java/java-impl/src/com/intellij/refactoring/memberPullUp/PullUpProcessor.java @@ -161,8 +161,8 @@ public class PullUpProcessor extends BaseRefactoringProcessor implements PullUpD } public void moveMembersToBase() throws IncorrectOperationException { - myMovedMembers = ContainerUtil.newHashSet(); - myMembersAfterMove = ContainerUtil.newHashSet(); + myMovedMembers = ContainerUtil.newLinkedHashSet(); + myMembersAfterMove = ContainerUtil.newLinkedHashSet(); // build aux sets for (MemberInfo info : myMembersToMove) { diff --git a/java/java-tests/testData/refactoring/extractSuperClass/parameterNameEqualsFieldName/after/Test.java b/java/java-tests/testData/refactoring/extractSuperClass/parameterNameEqualsFieldName/after/Test.java index 131fda0b5243..c460b49439f8 100644 --- a/java/java-tests/testData/refactoring/extractSuperClass/parameterNameEqualsFieldName/after/Test.java +++ b/java/java-tests/testData/refactoring/extractSuperClass/parameterNameEqualsFieldName/after/Test.java @@ -1,7 +1,9 @@ public class Test { int a; + int b; - public Test(int a) { + public Test(int a, int b) { this.a = a; + this.b = b; } } diff --git a/java/java-tests/testData/refactoring/extractSuperClass/parameterNameEqualsFieldName/after/TestSubclass.java b/java/java-tests/testData/refactoring/extractSuperClass/parameterNameEqualsFieldName/after/TestSubclass.java index df90dfc65ed5..b6f2e51cf5a7 100644 --- a/java/java-tests/testData/refactoring/extractSuperClass/parameterNameEqualsFieldName/after/TestSubclass.java +++ b/java/java-tests/testData/refactoring/extractSuperClass/parameterNameEqualsFieldName/after/TestSubclass.java @@ -1,7 +1,7 @@ public class TestSubclass extends Test { - int b; - public TestSubclass(int a, int b) { - super(a); - this.b = b; + int c; + public TestSubclass(int a, int b, int c) { + super(a, b); + this.c = c; } } \ No newline at end of file diff --git a/java/java-tests/testData/refactoring/extractSuperClass/parameterNameEqualsFieldName/before/Test.java b/java/java-tests/testData/refactoring/extractSuperClass/parameterNameEqualsFieldName/before/Test.java index 8827112339c3..200ff61071ec 100644 --- a/java/java-tests/testData/refactoring/extractSuperClass/parameterNameEqualsFieldName/before/Test.java +++ b/java/java-tests/testData/refactoring/extractSuperClass/parameterNameEqualsFieldName/before/Test.java @@ -1,8 +1,10 @@ public class Test { int a; int b; - public Test(int a, int b) { + int c; + public Test(int a, int b, int c) { this.a = a; this.b = b; + this.c = c; } } \ No newline at end of file diff --git a/java/java-tests/testSrc/com/intellij/java/refactoring/ExtractSuperClassTest.java b/java/java-tests/testSrc/com/intellij/java/refactoring/ExtractSuperClassTest.java index 2557211c67ac..5544bd31c33a 100644 --- a/java/java-tests/testSrc/com/intellij/java/refactoring/ExtractSuperClassTest.java +++ b/java/java-tests/testSrc/com/intellij/java/refactoring/ExtractSuperClassTest.java @@ -95,7 +95,7 @@ public class ExtractSuperClassTest extends RefactoringTestCase { } public void testParameterNameEqualsFieldName() throws Exception { // IDEADEV-10629 - doTest("Test", "TestSubclass", new RefactoringTestUtil.MemberDescriptor("a", PsiField.class)); + doTest("Test", "TestSubclass", new RefactoringTestUtil.MemberDescriptor("a", PsiField.class), new RefactoringTestUtil.MemberDescriptor("b", PsiField.class)); } public void testSameTypeParameterName() throws Exception {