harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefano Mazzocchi <stef...@apache.org>
Subject Re: [Japi] stacktraces running japitools on harmony
Date Wed, 15 Nov 2006 20:13:36 GMT
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 <stefano@apache.org>*
> 
> 11/15/2006 03:02 PM
> Please respond to
> harmony-dev@incubator.apache.org
> 
> 
> 	
> To
> 	Stuart Ballard <stuart.a.ballard@gmail.com>
> cc
> 	japitools-list@nongnu.org, 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 <stefano@apache.org> 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
>>> Japitools-list@nongnu.org
>>> http://lists.nongnu.org/mailman/listinfo/japitools-list
>>>
>>
>>
> 
> 
> -- 
> Stefano.
> 
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Japitools-list mailing list
> Japitools-list@nongnu.org
> http://lists.nongnu.org/mailman/listinfo/japitools-list


-- 
Stefano.


Mime
View raw message