On Tue, 3 Jun 2025 06:38:25 GMT, Sergey Bylokhov <s...@openjdk.org> wrote:
> This PR updates the last (!!) remaining platform-specific part of the > java.desktop module: macos. > The unix/windows were previously addressed in: > https://github.com/openjdk/jdk/pull/24170 , > https://github.com/openjdk/jdk/pull/24941 and > https://github.com/openjdk/jdk/pull/25439. > > Note: Unlike on other platforms, the initial change for macOS caused the > "BadSerializationTest" to fail. This test relies on internal details of the > Aqua Look & Feel that were previously exposed via serialized data (and > already [fails](https://bugs.openjdk.org/browse/JDK-8277817) on other > platforms). Adding the final modifier to the class changes its > serialVersionUID, which triggered the failure even on macOS. > To avoid this issue, I have reverted the changes to those internal classes > for now, see > https://github.com/openjdk/jdk/pull/25607/commits/ff7e64b6e38a1a809d434628f304e49408135697 > > To download the diff file and filter only the modified lines you can use the > following script: > > > curl -s > https://patch-diff.githubusercontent.com/raw/openjdk/jdk/pull/25607.diff -o > d.txt && grep -E '^+|^-' d.txt | grep -vE '^+++|^---' > > ==================================================== > > The `java.desktop` module currently lacks proper use of the `@Override` > annotation for methods and the `final` modifier for classes. While similar > changes were previously made in the > [JavaSound](https://github.com/openjdk/jdk/commit/e0c7d59246cf36644d494eced76e4b9d96ff1ded#diff-ae3e5f9c40fe25ef03e7a89844de174ef5c15e6179d769e2a4bcb7e73688c9b5), > [java.desktop/windows](https://github.com/openjdk/jdk/pull/24170) (and some > of the classes on demand), these changes are not as critical now due to the > new jdk "encapsulation", but they are still useful for improving code > consistency. > > The public API was not affected so there is no need to worry about a CSR > > Note: I will submit additional patches in this area later because: > > 1. Only lines with `@Override` and `final` were modified to keep the diff > clear - header dates were not updated (that could be covered by one patch > similar to [this](https://bugs.openjdk.org/browse/JDK-8345797)) > 2. I skipped adding `@Override` for anonymous classes > > Any feedback or suggestions are welcome! > > Here is a > [link](https://patch-diff.githubusercontent.com/raw/openjdk/jdk/pull/25607.diff) > to a simple diff file, it might be more convenient for reviewing the changes. > > The build was successful, and I ran all the open jtreg tests without issues. > But it's possible that some closed tests may be affected ... This pull request has now been integrated. Changeset: 6fc032de Author: Sergey Bylokhov <s...@openjdk.org> URL: https://git.openjdk.org/jdk/commit/6fc032de2c19853f3fa4f57659dc8559b516d7c5 Stats: 1216 lines in 169 files changed: 859 ins; 0 del; 357 mod 8358468: Enhance code consistency: java.desktop/macos Reviewed-by: prr, azvegint ------------- PR: https://git.openjdk.org/jdk/pull/25607