japitools-list
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Japi] stacktraces running japitools on harmony


From: Stefano Mazzocchi
Subject: Re: [Japi] stacktraces running japitools on harmony
Date: Wed, 15 Nov 2006 12:13:36 -0800
User-agent: Thunderbird 1.5.0.8 (Macintosh/20061025)

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 <address@hidden>*
> 
> 11/15/2006 03:02 PM
> Please respond to
> address@hidden
> 
> 
>       
> To
>       Stuart Ballard <address@hidden>
> cc
>       address@hidden, address@hidden
> 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 <address@hidden> 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
>>> address@hidden
>>> http://lists.nongnu.org/mailman/listinfo/japitools-list
>>>
>>
>>
> 
> 
> -- 
> Stefano.
> 
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Japitools-list mailing list
> address@hidden
> http://lists.nongnu.org/mailman/listinfo/japitools-list


-- 
Stefano.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]