commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Simon Kitching <skitch...@apache.org>
Subject Re: [logging] Bug 38174 and JCL 1.1
Date Thu, 19 Jan 2006 22:03:47 GMT
On Thu, 2006-01-19 at 22:46 +0100, Jörg Schaible wrote:
> Boris Unckel wrote:
> 
> > Hello Robert,
> > 
> > robert burrell donkin wrote:

> >> i notice that a lot of the parameters are now declared final (which is -
> >> usually - good). i would have expected that this should not effect
> >> binary compatibility but unfortunately, i can't find anywhere in the JLS
> >> where this is definitely specified. i'm very reluctant to add any
> >> changes which risk (at all) binary compatibility issues.
> >>
> >> anyone know of a definitive reference?
> > 
> > First my apologies to not mention it in the patch description - I am used
> > to final the parameters, so I did not recognize it actively.
> > I cannot cite a spec or a similiar document. After your mail I just used
> > JAD to decompile a class again.
> > The final before the parameters is not part of the decompiled class.
> > 
> > I know that this is not a proove, but a hint.
> > If this is going to be a show stopper, the final should be removed.
> 
> It has no effect on the binary output, otherwise you could not overwrite 
> methods and change this modifier for the parameters. For parameters it is 
> just a hint for the compiler and prevents accidental assignment.

The bit that bothers me is that inner classes can only access parameters
that are declared final. Why is this, if the binary code generated is
*exactly* the same whether the parameter is final or not? I can't see
the reason and that makes me feel a little nervous...

Regards,

Simon



---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org


Mime
View raw message