From f1d055e30c6181bc342b892b0f1d8ea77ce7b067 Mon Sep 17 00:00:00 2001 From: "Anna.Kozlova" Date: Mon, 20 Nov 2017 16:10:49 +0100 Subject: [PATCH] push down: normalize field before copy is created (IDEA-182422) otherwise initial field bundle won't be updated --- .../refactoring/memberPushDown/JavaPushDownDelegate.java | 5 ++++- .../refactoring/pushDown/SecondNormalizedField.java | 5 +++++ .../refactoring/pushDown/SecondNormalizedField_after.java | 7 +++++++ .../com/intellij/java/refactoring/PushDownTest.java | 1 + 4 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 java/java-tests/testData/refactoring/pushDown/SecondNormalizedField.java create mode 100644 java/java-tests/testData/refactoring/pushDown/SecondNormalizedField_after.java diff --git a/java/java-impl/src/com/intellij/refactoring/memberPushDown/JavaPushDownDelegate.java b/java/java-impl/src/com/intellij/refactoring/memberPushDown/JavaPushDownDelegate.java index 7f22ae6234bc..4df908f30b42 100644 --- a/java/java-impl/src/com/intellij/refactoring/memberPushDown/JavaPushDownDelegate.java +++ b/java/java-impl/src/com/intellij/refactoring/memberPushDown/JavaPushDownDelegate.java @@ -204,11 +204,14 @@ public class JavaPushDownDelegate extends PushDownDelegatewo; +} +class Inheritor extends Base {} \ No newline at end of file diff --git a/java/java-tests/testData/refactoring/pushDown/SecondNormalizedField_after.java b/java/java-tests/testData/refactoring/pushDown/SecondNormalizedField_after.java new file mode 100644 index 000000000000..9695e7530041 --- /dev/null +++ b/java/java-tests/testData/refactoring/pushDown/SecondNormalizedField_after.java @@ -0,0 +1,7 @@ + +class Base { + int one; +} +class Inheritor extends Base { + int two; +} \ No newline at end of file diff --git a/java/java-tests/testSrc/com/intellij/java/refactoring/PushDownTest.java b/java/java-tests/testSrc/com/intellij/java/refactoring/PushDownTest.java index 4c99cb992e32..c9ebc2f751a3 100644 --- a/java/java-tests/testSrc/com/intellij/java/refactoring/PushDownTest.java +++ b/java/java-tests/testSrc/com/intellij/java/refactoring/PushDownTest.java @@ -42,6 +42,7 @@ public class PushDownTest extends LightRefactoringTestCase { public void testBodyTypeParameter() { doTest(); } public void testDisagreeTypeParameter() { doTest(true); } public void testFieldAndReferencedClass() { doTest(); } + public void testSecondNormalizedField() { doTest(); } public void testFieldAndStaticReferencedClass() { doTest(); } public void testThisRefInAnonymous() { doTest(); } public void testSuperOverHierarchyConflict() { doTest(true); }