Package-private access checking in GCJ 3.3
Mark Wielaard
mark@klomp.org
Thu Jun 19 13:00:00 GMT 2003
Hi,
On Mon, 2003年06月16日 at 11:30, Ranjit Mathew wrote:
> > Ranjit> (BTW, we use the same bit for both ACC_SUPER and
> > Ranjit> ACC_SYNCHRONIZED and these are the only two that share a
> > Ranjit> bit - is this by design or is this an oversight?)
> >
> > Design. See java.lang.reflect.Modifier -- these values are specified
> > by Java, not us.
>> *Except* for ACC_SUPER, everything else is there and has
> the same value as defined by GCJ - what does ACC_SUPER mean?
> Is it to specially flag references like "super.fooBar"?
See the (always informative) IKVM.NET weblog entry of Jun 02.
[...] To fix this, invokespecial was changed to search the class
hierarchy if the called class is a base class of the caller
(from the caller's base class on up), but only if the caller's
class has the ACC_SUPER bit set in the class' access_flags mask.
All Java compilers since JDK 1.1 always set the ACC_SUPER flag.
It's interesting to note that the current Sun JRE 1.4.1 still
honors a cleared ACC_SUPER flag.
http://weblog.ikvm.net/
Cheers,
Mark
More information about the Java
mailing list