RFR: 8359493: Refactor how aggregated mandatory warnings are handled in the compiler [v5]

Maurizio Cimadamore mcimadamore at openjdk.org
Thu Jul 3 17:58:41 UTC 2025


On Thu, 3 Jul 2025 16:28:27 GMT, Archie Cobbs <acobbs at openjdk.org> wrote:

>> The compiler's handling of the aggregation of mandatory warnings into "notes" at the end of compilation can be refactored to simplify the code.
>> 
>> The `JCDiagnostic` class supports flags that alter how warnings are handled, e.g., `MANDATORY`, `NON_DEFERRABLE`, etc. So instead of having to log aggregated mandatory warnings through a separate channel (the `MandatoryWarningHandler`), these warnings could instead be logged just like any other warning, but with an `AGGREGATED` flag added. The actual aggregation can then be handled "behind the scenes" by the logging subsystem.
>> 
>> This will also make it easier to implement `@SuppressAnnotations` support for parser/tokenizer warnings which require aggregated mandatory warning notes such as warnings for preview features.
>
> Archie Cobbs has updated the pull request incrementally with two additional commits since the last revision:
> 
>  - Address review suggestions.
>  - Remove assumptions about mandatoryness from the MandatoryWarningAggregator.

Looks good!

-------------

Marked as reviewed by mcimadamore (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/25810#pullrequestreview-2984134010


More information about the compiler-dev mailing list