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:02:37 -0800
User-agent: Thunderbird 1.5.0.8 (Macintosh/20061025)

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.





reply via email to

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