RFR: 8344943: Mark not subclassable classes final in java.base exported classes

Eirik Bjørsnøs eirbjo at openjdk.org
Thu Jan 16 20:42:53 UTC 2025


On Tue, 26 Nov 2024 18:49:07 GMT, Alan Bateman <alanb at openjdk.org> wrote:

>> Please review this PR which adds the `final` modifier to non-subclassable classes in `java.base`.
>> 
>> The classes were identified using an automated analysis. See CSR for details.
>> 
>> Besides simply adding the `final` access modifier, the PR:
>> 
>> * Updates a note in `java.lang.constant.DynamicCallSiteDesc` to not reference subtypes. See CSR for discussion.
>> * Removes the class `java.lang.Runtime` from the test `test/jdk/jdk/internal/reflect/CallerSensitive/CheckCSMs.java`
>> * Updates the copyright year of affected source files
>
> src/java.base/share/classes/java/lang/module/ModuleDescriptor.java line 1318:
> 
>> 1316:                      Version version,
>> 1317:                      Set<Modifier> modifiers,
>> 1318:                      Set<Requires> requires,
> 
> I assume you'll fix the alignment if this goes ahead.

Thanks! Yes, that's good feedback. There are some non-API changes that I'd like to make, such as this and updating the comment for the `InterfaceAddress` constructor.

I prefered to make the initial PR draft contain just the CSR changes, such that PR would be useful and clean as a Specification change, since the diff is a bit noisy.

I'll keep your review comment here unresolved for now and get back to it pending CSR approval.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/22389#discussion_r1859084454


More information about the net-dev mailing list