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.
I found a bug in fastjavac when using inheritance with inner classes. Here's attached the brief source code which proof what I discovered and the following is the different output I got using jdk1.3 javac and netbeans3.2 fastjavac for compiling the 3 source files attached: JDK 1.3 javac $ java Test A.Inner1 B.Inner1 A.Inner1 B.Inner2 Netbeans 3.2 fastjavac $ java Test A.Inner1 B.Inner1 A.Inner1 B.Inner1 B.Inner2 The key is inheritance applied to inner classes: B.Inner1 extends A.Inner1 and B.Inner2 extends A.Inner1, and both call super.m() from inside the overidden method m() (this is done to discover which is considered as the superclass). I expected that B.Inner2.m() would consider A.Inner1 as superclass, instead, I found that when I compile with fastjavac the superclass is not A.Inner1 but B.Inner1, which is different from what I got compiling with jdk1.3 javac. public class A { public static class Inner1 { public void m() { System.out.println("A.Inner1"); } } } public class B { public static class Inner1 extends A.Inner1 { public void m() { super.m(); System.out.println("B.Inner1"); } } public static class Inner2 extends A.Inner1 { public void m() { super.m(); System.out.println("B.Inner2"); } } } public class Test { public static void main (String args[]) { B.Inner1 obj1 = new B.Inner1(); obj1.m(); B.Inner2 obj2 = new B.Inner2(); obj2.m(); } }
Lowering the priority. There is a workaround : use a different compiler.
Has been forwarded to the Sun's fastjavac team.
Resolved for 3.3.x or earlier, no new info since then -> closing.
Resolved for 3.4.x or earlier, no new info since then -> closing.
A mistakenly closed RESOLVED LATER/REMIND issue. Reopening.
Fastjavac is not supported anymore and since it is a close source there is no reason to keep this as open issue.
Reorganization of java component