Integrated: 8359493: Refactor how aggregated mandatory warnings are handled in the compiler

Archie Cobbs acobbs at openjdk.org
Thu Jul 3 18:15:51 UTC 2025


On Fri, 13 Jun 2025 21:25:54 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.

This pull request has now been integrated.

Changeset: 25ed36f3
Author:    Archie Cobbs <acobbs at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/25ed36f3ef1fe1d6914689c762910f104775f48c
Stats:     919 lines in 17 files changed: 440 ins; 417 del; 62 mod

8359493: Refactor how aggregated mandatory warnings are handled in the compiler
8350514: Refactor MandatoryWarningHandler to support dynamic verbosity

Reviewed-by: mcimadamore

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

PR: https://git.openjdk.org/jdk/pull/25810


More information about the compiler-dev mailing list