[kaffe] java.lang.IllegalAccessError

Guilhem Lavaux guilhem at kaffe.org
Sat Oct 25 08:07:01 PDT 2003


Helmer Krämer wrote:

>On Fri, 24 Oct 2003 20:14:38 +0200
>Guilhem Lavaux <guilhem at kaffe.org> wrote:
>
>Hi Guilhem, hi Ito,
> 
>  
>
>>>The attached programs cause java.lang.IllegalAccessError,
>>>which partly seemes to have something to do with KJC,
>>>but class files compiled with Sun's javac also cause the
>>>error.
>>>
>>>      
>>>
>>Apparently KJC choses to protect the inner class (as usual). I've not 
>>really seen a specific restriction about access modifiers concerning 
>>inner classes in doc but the JDK's compiler put your sample class in 
>>public access (even though you explicitly specified it protected). The 
>>best guess I can make is to ignore the access modifier for inner classes 
>>in KJC. I'll prepare this for tomorrow.
>>    
>>
>
>I don't think that this would be the correct fix (altering
>the access modifiers during compilation doesn't look right
>to me). For a discussion of a similar problem have a look
>at the thread starting at this mail:
> 
>http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&selm=Pine.LNX.4.10.10010111327040.12800-100000%40green.usr.onet
>
>I think the real problem is kaffe's runtime access checking,
>which is why I'm about to check in the following patch:
>  
>
Yes, but this doesn't solve the problem concerning JDK. If you 
disassemble the code generated
from the classes provided by Ito you may notice that the inner class 
doesn't have any protection
although it is protected. But I've made another test with private and 
apparently it changes something also
concerning the modifier, so the problem should be more complicated.

Cheers,
Guilhem.






More information about the kaffe mailing list