This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 201971

Summary: [push down method] introduces behavioral change: Disable implicit cast
Product: java Reporter: GustavoSoares
Component: RefactoringAssignee: Jan Becicka <jbecicka>
Status: RESOLVED WONTFIX    
Severity: normal    
Priority: P4    
Version: 7.0.1   
Hardware: PC   
OS: Mac OS X   
Issue Type: DEFECT Exception Reporter:

Description GustavoSoares 2011-09-12 00:34:28 UTC
Create the classes:

public class A {
  public int k(long l) {
    return 1;
  }
  public int m() {
    return k(2);
  }
}
public class B extends A {
  public int k(int i) {
    return 2;
  }
  public int test() {
    return m();
  }
}

apply the push down method refactoring to m 

public class A {
  public int k(long l) {
    return 1;
  }
}
public class B extends A {
  public int k(int i) {
    return 2;
  }
  public int test() {
    return m();
  }
  public int m() {
    return k(2);
  }
}

The transformation changes behavior. After the transformation the test method returns 2 instead of 1
Comment 1 Martin Balin 2016-07-07 07:17:14 UTC
This old bug may not be relevant anymore. If you can still reproduce it in 8.2 development builds please reopen this issue.

Thanks for your cooperation,
NetBeans IDE 8.2 Release Boss