Helmer Krämer wrote:

On Fri, 24 Oct 2003 20:14:38 +0200
Guilhem Lavaux <[EMAIL PROTECTED]> 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.



_______________________________________________
kaffe mailing list
[EMAIL PROTECTED]
http://kaffe.org/cgi-bin/mailman/listinfo/kaffe

Reply via email to