Community
Participate
Working Groups
Build ID: I20080617-2000 Steps To Reproduce: 1. In the following code A.java package p; class A { void a(A a){} void a(B b){} } B.java package p; class B extends A { void m() { a(this); } } 2. pull up B.m() to class A 3. the above code becomes A.java package p; class A { void a(A a){} void a(A b){} void m() { a(this); } } B.java package p; class B extends A { } 4. Compile error is detected More information: When I pull up the B.m() method to class A, the refactoring engine process the pull up refactoring although the result code cannot be complied. Although the refactoring engine does not need to change method signature ¡°void a(B b)¡±, the engine changes it to ¡°void a(A b)¡± in somehow. This causes this bug. The expected result is A.java package p; class A { void a(A a){} void a(B b){} void m() { a(this); } } B.java package p; class B extends A { }
To reproduce the 'Use destination type where possible' needs to be checked.
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet. If you have further information on the current state of the bug, please add it. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant. -- The automated Eclipse Genie.
Still a problem in 4.12 M1.