RFR: JDK-8252307: javac rejects code with annotation applicable to fields
Vicente Romero
vicente.romero at oracle.com
Fri Sep 4 17:36:04 UTC 2020
thanks!
Vicente
On 9/4/20 12:56 PM, Joe Darcy wrote:
> Looks okay; cheers,
>
> -Joe
>
> On 9/3/2020 9:12 AM, Vicente Romero wrote:
>> ping, I would like to push this one before the github transition,
>>
>> Thanks,
>> Vicente
>>
>> On 9/2/20 2:10 PM, Vicente Romero wrote:
>>> ping
>>>
>>> On 9/1/20 11:51 AM, Vicente Romero wrote:
>>>> ping
>>>>
>>>> On 8/31/20 1:10 PM, Vicente Romero wrote:
>>>>> Hi,
>>>>>
>>>>> Please review fix for [1] at [2]. There were several issues at
>>>>> play here. First the parameters added by the compiler to the
>>>>> compact constructor were not marked as generated, meaning that
>>>>> later on when checking for annotations, at
>>>>> Check::validateAnnotation, it couldn't be determine if the
>>>>> annotations were added automatically with the intention to remove
>>>>> them if out of place. Which is the strategy for elements generated
>>>>> from the record components. Or if they were explicitly added by
>>>>> the user. The current implementation was assuming the last option
>>>>> and thus flagging an error. Also I realized that at
>>>>> Check::getApplicableTargets, the case when the target is MODULE
>>>>> was not covered. This was not the product of the records patch
>>>>> which rewrote this method, this was like this since the modules
>>>>> times. I think that for completeness, and correctness, there
>>>>> should be a case for target MODULE at Check::getApplicableTargets.
>>>>> The compiler was accepting annotations applied to
>>>>> ElementType.MODULE, just because it was accepting annotations
>>>>> applied to unknown targets assuming that there was a bug in the
>>>>> source that would be flagged anyway. I realize that this change to
>>>>> Check::getApplicableTargets could be considered outside of the
>>>>> reach of this patch so I'm OK with removing it and file a separate
>>>>> bug if we consider it a better approach,
>>>>>
>>>>> Thanks,
>>>>> Vicente
>>>>>
>>>>> [1] https://bugs.openjdk.java.net/browse/JDK-8252307
>>>>> [2] http://cr.openjdk.java.net/~vromero/8252307/webrev.00/
>>>>
>>>
>>
More information about the compiler-dev
mailing list