Pascal Rapicault wrote: > > I have forwarded this message to a member of the compiler team.
Pascal, thanks! Let us know what they say. > *Stefano Mazzocchi <[EMAIL PROTECTED]>* > > 11/15/2006 03:02 PM > Please respond to > harmony-dev@incubator.apache.org > > > > To > Stuart Ballard <[EMAIL PROTECTED]> > cc > [EMAIL PROTECTED], harmony-dev@incubator.apache.org > Subject > Re: [Japi] stacktraces running japitools on harmony > > > > > > > > > Copying Harmony as some of the Eclipse folks might be watching... > > Stuart Ballard wrote: >> This sounds like a bug in your compiler. The JLS specifies that every >> constructor of every nonstatic inner class should be compiled as if it >> has an extra parameter of the type of the outer class, to hold the >> value for (for example) "BasicSwingTestCase.this". > > I see. > >> What compiler is producing the jar that you're running this against? > > Eclipse ECJ 3.2 > > /me wonders if later versions have fixed this problem > >> Also, is BasicSwingTestCase public in the first place? > > checking... yeah it's a 'public abstract' class. > >> Japitools (when >> run in the harmony-vs-jdk direction) would complain about extra public >> classes being added to public packages. And rightly so; Javadoc would >> include them too and they're definitely not part of the public API. > > Agreed. > > the Harmony devs have apparently being paying close attention to the > forward japi (jdk15 vs harmony) but the reversed one is clearly lagging > behind. > > Anyway, cool to see it's not a JAPI bug. > > Thanks much! > >> Stuart. >> >> On 11/14/06, Stefano Mazzocchi <[EMAIL PROTECTED]> wrote: >>> I ran japitools (cvs update of a few minutes ago) against the latest >>> harmony (r474892) and I got this: >>> >>> [...] >>> Failed to Japize javax.swing.BasicSwingTestCase$BadLocationCase: >>> java.lang.RuntimeException: First parameter of nonstatic inner class >>> javax.swing.BasicSwingTestCase$ExceptionalCase constructor is >>> java.lang.String, not javax.swing.BasicSwingTestCase >>> java.lang.RuntimeException: First parameter of nonstatic inner class >>> javax.swing.BasicSwingTestCase$ExceptionalCase constructor is >>> java.lang.String, not javax.swing.BasicSwingTestCase >>> at >>> > net.wuffies.japi.ClassFile$MethodInfoItem.getParameterTypes(ClassFile.java:438) >>> >>> at net.wuffies.japi.BoundCall.<init>(BoundCall.java:47) >>> at net.wuffies.japi.Japize.getFieldsAndCalls(Japize.java:1084) >>> at net.wuffies.japi.Japize.getFieldsAndCalls(Japize.java:1076) >>> at net.wuffies.japi.Japize.japizeClass(Japize.java:817) >>> at net.wuffies.japi.Japize.processPackage(Japize.java:536) >>> at net.wuffies.japi.Japize.processPackage(Japize.java:556) >>> at net.wuffies.japi.Japize.processRootSet(Japize.java:471) >>> at net.wuffies.japi.Japize.doJapize(Japize.java:443) >>> at net.wuffies.japi.Japize.main(Japize.java:316) >>> + >>> Failed to Japize javax.swing.BasicSwingTestCase$ClassCastCase: >>> java.lang.RuntimeException: First parameter of nonstatic inner class >>> javax.swing.BasicSwingTestCase$ExceptionalCase constructor is >>> java.lang.String, not javax.swing.BasicSwingTestCase >>> java.lang.RuntimeException: First parameter of nonstatic inner class >>> javax.swing.BasicSwingTestCase$ExceptionalCase constructor is >>> java.lang.String, not javax.swing.BasicSwingTestCase >>> at >>> > net.wuffies.japi.ClassFile$MethodInfoItem.getParameterTypes(ClassFile.java:438) >>> >>> at net.wuffies.japi.BoundCall.<init>(BoundCall.java:47) >>> at net.wuffies.japi.Japize.getFieldsAndCalls(Japize.java:1084) >>> at net.wuffies.japi.Japize.getFieldsAndCalls(Japize.java:1076) >>> at net.wuffies.japi.Japize.japizeClass(Japize.java:817) >>> at net.wuffies.japi.Japize.processPackage(Japize.java:536) >>> at net.wuffies.japi.Japize.processPackage(Japize.java:556) >>> at net.wuffies.japi.Japize.processRootSet(Japize.java:471) >>> at net.wuffies.japi.Japize.doJapize(Japize.java:443) >>> at net.wuffies.japi.Japize.main(Japize.java:316) >>> + >>> Failed to Japize javax.swing.BasicSwingTestCase$ExceptionalCase: >>> java.lang.RuntimeException: First parameter of nonstatic inner class >>> javax.swing.BasicSwingTestCase$ExceptionalCase constructor is >>> java.lang.String, not javax.swing.BasicSwingTestCase >>> java.lang.RuntimeException: First parameter of nonstatic inner class >>> javax.swing.BasicSwingTestCase$ExceptionalCase constructor is >>> java.lang.String, not javax.swing.BasicSwingTestCase >>> at >>> > net.wuffies.japi.ClassFile$MethodInfoItem.getParameterTypes(ClassFile.java:438) >>> >>> at net.wuffies.japi.BoundCall.<init>(BoundCall.java:47) >>> at net.wuffies.japi.Japize.getFieldsAndCalls(Japize.java:1084) >>> at net.wuffies.japi.Japize.japizeClass(Japize.java:817) >>> at net.wuffies.japi.Japize.processPackage(Japize.java:536) >>> at net.wuffies.japi.Japize.processPackage(Japize.java:556) >>> at net.wuffies.japi.Japize.processRootSet(Japize.java:471) >>> at net.wuffies.japi.Japize.doJapize(Japize.java:443) >>> at net.wuffies.japi.Japize.main(Japize.java:316) >>> - >>> Failed to Japize javax.swing.BasicSwingTestCase$IllegalArgumentCase: >>> java.lang.RuntimeException: First parameter of nonstatic inner class >>> javax.swing.BasicSwingTestCase$ExceptionalCase constructor is >>> java.lang.String, not javax.swing.BasicSwingTestCase >>> java.lang.RuntimeException: First parameter of nonstatic inner class >>> javax.swing.BasicSwingTestCase$ExceptionalCase constructor is >>> java.lang.String, not javax.swing.BasicSwingTestCase >>> at >>> > net.wuffies.japi.ClassFile$MethodInfoItem.getParameterTypes(ClassFile.java:438) >>> >>> at net.wuffies.japi.BoundCall.<init>(BoundCall.java:47) >>> at net.wuffies.japi.Japize.getFieldsAndCalls(Japize.java:1084) >>> at net.wuffies.japi.Japize.getFieldsAndCalls(Japize.java:1076) >>> at net.wuffies.japi.Japize.japizeClass(Japize.java:817) >>> at net.wuffies.japi.Japize.processPackage(Japize.java:536) >>> at net.wuffies.japi.Japize.processPackage(Japize.java:556) >>> at net.wuffies.japi.Japize.processRootSet(Japize.java:471) >>> at net.wuffies.japi.Japize.doJapize(Japize.java:443) >>> at net.wuffies.japi.Japize.main(Japize.java:316) >>> + >>> Failed to Japize javax.swing.BasicSwingTestCase$NullPointerCase: >>> java.lang.RuntimeException: First parameter of nonstatic inner class >>> javax.swing.BasicSwingTestCase$ExceptionalCase constructor is >>> java.lang.String, not javax.swing.BasicSwingTestCase >>> java.lang.RuntimeException: First parameter of nonstatic inner class >>> javax.swing.BasicSwingTestCase$ExceptionalCase constructor is >>> java.lang.String, not javax.swing.BasicSwingTestCase >>> at >>> > net.wuffies.japi.ClassFile$MethodInfoItem.getParameterTypes(ClassFile.java:438) >>> >>> at net.wuffies.japi.BoundCall.<init>(BoundCall.java:47) >>> at net.wuffies.japi.Japize.getFieldsAndCalls(Japize.java:1084) >>> at net.wuffies.japi.Japize.getFieldsAndCalls(Japize.java:1076) >>> at net.wuffies.japi.Japize.japizeClass(Japize.java:817) >>> at net.wuffies.japi.Japize.processPackage(Japize.java:536) >>> at net.wuffies.japi.Japize.processPackage(Japize.java:556) >>> at net.wuffies.japi.Japize.processRootSet(Japize.java:471) >>> at net.wuffies.japi.Japize.doJapize(Japize.java:443) >>> at net.wuffies.japi.Japize.main(Japize.java:316) >>> + >>> Failed to Japize >>> javax.swing.BasicSwingTestCase$StringIndexOutOfBoundsCase: >>> java.lang.RuntimeException: First parameter of nonstatic inner class >>> javax.swing.BasicSwingTestCase$ExceptionalCase constructor is >>> java.lang.String, not javax.swing.BasicSwingTestCase >>> java.lang.RuntimeException: First parameter of nonstatic inner class >>> javax.swing.BasicSwingTestCase$ExceptionalCase constructor is >>> java.lang.String, not javax.swing.BasicSwingTestCase >>> at >>> > net.wuffies.japi.ClassFile$MethodInfoItem.getParameterTypes(ClassFile.java:438) >>> >>> at net.wuffies.japi.BoundCall.<init>(BoundCall.java:47) >>> at net.wuffies.japi.Japize.getFieldsAndCalls(Japize.java:1084) >>> at net.wuffies.japi.Japize.getFieldsAndCalls(Japize.java:1076) >>> at net.wuffies.japi.Japize.japizeClass(Japize.java:817) >>> at net.wuffies.japi.Japize.processPackage(Japize.java:536) >>> at net.wuffies.japi.Japize.processPackage(Japize.java:556) >>> at net.wuffies.japi.Japize.processRootSet(Japize.java:471) >>> at net.wuffies.japi.Japize.doJapize(Japize.java:443) >>> at net.wuffies.japi.Japize.main(Japize.java:316) >>> [...] >>> >>> BTW, I have setup a cruisecontrol on one of our testing servers and >>> provide a snapshot of the latest build (it checks every 5 minutes for >>> new svn commits and automatically rebuilds) >>> >>> http://67.86.14.213:10000/builds/harmony/classlib/jre/lib/boot/ >>> >>> Thanks! >>> >>> -- >>> Stefano. >>> >>> >>> >>> _______________________________________________ >>> Japitools-list mailing list >>> [EMAIL PROTECTED] >>> http://lists.nongnu.org/mailman/listinfo/japitools-list >>> >> >> > > > -- > Stefano. > > > > ------------------------------------------------------------------------ > > _______________________________________________ > Japitools-list mailing list > [EMAIL PROTECTED] > http://lists.nongnu.org/mailman/listinfo/japitools-list -- Stefano.