RFR: 8370800: Downgrade cant.attach.type.annotations diagnostics to warnings [v8]
Liam Miller-Cushon
cushon at openjdk.org
Tue Nov 11 14:05:17 UTC 2025
On Sun, 9 Nov 2025 18:30:53 GMT, Liam Miller-Cushon <cushon at openjdk.org> wrote:
>> Hi, please consider this fix for [JDK-8370800: Downgrade cant.attach.type.annotations diagnostics to warnings](https://bugs.openjdk.org/browse/JDK-8370800).
>>
>> As discussed in the, this reduces the compatibility impact of these diagnostics for builds that deliberately omit transitive annotation dependencies, for example if they are only referenced through javadoc `@link` tags, or by frameworks that conditionally load the classes.
>>
>> The PR changes the existing error diagnostic to an unconditional warning. Another alternative would be to make it an optional xlint diagnostic, perhaps as part of `-Xlint:classfile`, or as another category.
>
> Liam Miller-Cushon has updated the pull request incrementally with one additional commit since the last revision:
>
> Complete symbols returned by getAllMembers
Thanks for taking another look, and I'm happy to write up a CSR. (If we go with a warning I would like to consider putting it in an `-Xlint` category, that detail could be discussed in the CSR if you're open to considering that.)
I'm curious if you'd be willing to share your thoughts on the alternative of lazily attaching the type annotations in `MethodSymbol#complete`, though? I think in theory I prefer that behaviour. In practice it seems like `complete` is only intended to be used for `ClassSymbol`, so using it for `MethodSymbol` is maybe a significant departure from that and would require 'hardening' `MethodSymbol` to ensure that it actually calls complete in all of the methods that would allow accessing type annotation information.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/28018#issuecomment-3517075889
More information about the compiler-dev
mailing list