RFR: 8231436: Fix the applicability of a no- at Target annotation type

Liam Miller-Cushon cushon at openjdk.java.net
Fri Feb 5 08:15:01 UTC 2021

On Thu, 4 Feb 2021 21:04:51 GMT, Liam Miller-Cushon <cushon at openjdk.org> wrote:

>> Thanks, I was missing context here. I now realize this patch is fixing a bug related to [JDK-8254023](https://bugs.openjdk.java.net/browse/JDK-8254023)--when the handling of annotations without `@Target` was updated to allow them to be applied to module declarations, the handling of repeatable annotations without `@Target` should also have been updated. I filed a new bug for the sub-issue that this patch is fixing, and will update it accordingly in a minute: https://bugs.openjdk.java.net/browse/JDK-8261088
>> I'm also happy to help with any work to be done on the larger question of interpreting `@Target`-less annotations as applicable to type contexts, if there's agreement about what to do there.
> I spun the original change that related specifically to repeatable annotations and `@Target(MODULE)` out into https://github.com/openjdk/jdk/pull/2412 and filed corresponding CSR [JDK-8261181](https://bugs.openjdk.java.net/browse/JDK-8261181).
> I will look at updating this review to actually implement the change to make no-`@Target` annotations applicable to all contexts next.

I pushed an initial implementation of a fix to make no-`@Target` annotation applicable in all contexts, including type contexts.

I have updated affected tier 1 langtools tests, which provides some signal about the compatibility impact. That also uncovered a couple of bugs: one issue where javadoc isn't escaping type annotations in html ([JDK-8261203](https://bugs.openjdk.java.net/browse/JDK-8261203)), and a crash with intersection types and LVTI ([JDK-8261205](https://bugs.openjdk.java.net/browse/JDK-8261205)).


PR: https://git.openjdk.java.net/jdk/pull/2303

More information about the compiler-dev mailing list