javac 7 is able to generate inner class that can't be verified

Remi Forax forax at
Thu Sep 20 05:34:14 PDT 2012

On 09/20/2012 02:19 PM, Maurizio Cimadamore wrote:
> On 20/09/12 12:44, Remi Forax wrote:
>> ping !
>> Rémi
>> On 07/05/2012 01:00 PM, Rémi Forax wrote:
>>> Hi Maurizio, hi all,
>>> there is a dubious code in javac that try to reuse existing inner 
>>> class (or create one)
>>> when a constructor accessor need to be generated (see 
>>> Lower.accessConstructorTag).
> Yeah - this is javac trying to reduce the number of inner classes 
> generated during compilation - in order to allow access to a private 
> constructor, an instance of a tag inner class is used, which can only 
> be instantiated from within the class having access to the tag. In 
> some cases javac will try to re-use existing classes as 'tags' - since 
> this doesn't take into account the fact that a class might not 
> ultimately be generated because of compiler optimizations, I agree 
> that the logic appears to be flawed. I will file a bug.

Ok, thanks.

> Maurizio


More information about the compiler-dev mailing list