question related to bug: 8024694
Jonathan Gibbons
jonathan.gibbons at oracle.com
Tue Sep 17 14:43:50 PDT 2013
Alex,
Your comments seem to refer to the class signature, but the issue is
about the signature on the constructor for the enum, i.e. the method
signature on <init>.
-- Jon
On 09/17/2013 02:13 PM, Alex Buckley wrote:
> I added a comment to the bug. This one is a bit subtle but in my view
> it's acceptable for javac to give an implementation-driven error for
> the missing Signature attribute.
>
> Alex
>
> On 9/17/2013 8:23 AM, Vicente-Arturo Romero-Zaldivar wrote:
>> On 17/09/13 14:13, Remi Forax wrote:
>>> On 09/17/2013 02:55 PM, Vicente-Arturo Romero-Zaldivar wrote:
>>>> Hi Alex,
>>>>
>>>> I have a doubt related to bug entry [1]. The bug has been created by
>>>> someone in the Eclipse community, I assume. As the bug description
>>>> states there is a mismatch between javac and Eclipse compiler related
>>>> to the generation of a signature for enum constructors. Javac
>>>> generates it always, Eclipse (I was trying with ecj-3.7.1) don't
>>>> generate it, at least I didn't found a case where it gets generated
>>>> by Eclipse. So there is an issue when a class generated with Eclipse
>>>> is loaded with javac.
>>>>
>>>> Also in the bug entry there is a link to Eclipse's bug db, [2], where
>>>> there are some considerations from Eclipse developers about this
>>>> being a javac bug or no.
>>>>
>>>> Could you please clarify if in this case javac is OK according to the
>>>> spec and this is not a bug?
>>>>
>>>> Thanks,
>>>> Vicente
>>>>
>>>> [1] https://bugs.openjdk.java.net/browse/JDK-8024694
>>>> [2] https://bugs.eclipse.org/bugs/show_bug.cgi?id=388314
>>>
>>> In my opinion, there is a bug in javac.
>>> javac requires that the constructor of an enum must a Signature
>>> attribute but the spec only requires a Signature attribute
>>> if the method is generics or use a type variable defined on the class.
>>> So eclipse can generate an enum constructor without a Signature
>>> attribute and javac should work without
>>> requiring this specific attribute.
>>>
>>> so there are 2 bugs to fix, one is that javac should not generate a
>>> Signature attribute and
>>> the second one is that javac should work even if the Signature
>>> attribute is not defined.
>>>
>>> Rémi
>>>
>> Thanks Rémi,
>>
>> As a side comment I was trying to make eclipse generate the signature,
>> and even including type variables in the constructor declaration,
>> eclipse didn't generate the signature. So seems like it's not generating
>> the signature even in cases where it should. Probably this has been
>> fixed in last versions.
>>
>> Vicente
More information about the compiler-dev
mailing list