Project: JDT
Bug 228950 [pull up] exception if target calls super with multiple parameters
Reported: 2008-04-25 16:31:47 | Status: resolved fixed

Steps to reproduce: 1. Create a file with the following classes: public class A { void X(int p1, int p2) { } } class B extends A { void Y() { super.X(1, 2); } } 2. Run the "Pull Up" refactoring on Y with the default options. 3. Click on the "Finish" button. Expected Output: Move Y to class A and change super.X(1, 2) to X(1, 2), as below: public class A { void X(int p1, int p2) { } void Y() { X(1, 2); } } class B extends A { } Actual Output: Shows error message in a message box: "An unexpected exception occurred while performing the refactoring. See the error log for more details.\n\nStart node is not a original child of the given list" Note: X must have at least two parameters for the bug to appear. Also, if the user clicks on the "Next" buttons instead of "Finish", the following error appears in a third screen of the refactoring window: "An unexpected exception occurred while creating a change object. See the error log for more details."

Files changed in fix:
org.eclipse.jdt.ui.tests.refactoring/resources/PullUp/test49/in/A.java org.eclipse.jdt.ui.tests.refactoring/resources/PullUp/test49/out/A.java org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/PullUpTests.java org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/structure/PullUpRefactoringProcessor.java