RFR [8034044] Class.getModifiers() returns "static" for anonymous classes
Ivan Gerasimov
ivan.gerasimov at oracle.com
Fri Mar 7 18:39:45 UTC 2014
Thank you Alex!
On 07.03.2014 22:10, Alex Buckley wrote:
> On 3/7/2014 12:29 AM, Ivan Gerasimov wrote:
>> JLS states that an anonymous class cannot be static [1].
>> However, in OpenJDK implementation Class#getModifiers(), when called for
>> the anonymous class, returns the STATIC bit set.
>> Would you please help review the proposed fix, which removes STATIC from
>> the anonymous class's modifier?
>>
>> An exception to this is an enum constant's body.
>> It's not clear, whether they should be treated in the same way as
>> anonymous classes, so I left them as they are now.
>
> JLS 8.9.1: The optional class body of an enum constant implicitly
> defines an anonymous class declaration (§15.9.5) that extends the
> immediately enclosing enum type.
>
> So the class generated for an enum constant's body should not be
> ACC_STATIC.
>
Ok, I'll remove STATIC from the enum bodies too.
Sincerely yours,
Ivan
> Alex
>
More information about the compiler-dev
mailing list