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

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

Commit messages:
 - Merge branch 'master' into non-subclassable-final
 - Update copyright years
 - Runtime class is marked final, remove it from the CheckCSMs test
 - Leave out the constructor access for now since the are not relevant for the 
CSR review
 - Reword note about immutability and object immutability to reference object 
instances instead of the class.
 - Resurrect note about immutability and object identity, but without any 
reference to subtypes
 - Mark non-subclassable classes in 'java.base' final

Changes: https://git.openjdk.org/jdk/pull/22389/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=22389&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8344943
  Stats: 35 lines in 22 files changed: 0 ins; 3 del; 32 mod
  Patch: https://git.openjdk.org/jdk/pull/22389.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/22389/head:pull/22389

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

Reply via email to