RFR: 8359180: Apply java.io.Serial annotations in java.instrument

Paul Hohensee phh at openjdk.org
Fri Jun 13 17:09:33 UTC 2025


On Tue, 10 Jun 2025 23:19:40 GMT, Sergey Bylokhov <serb at openjdk.org> wrote:

> Please review the application of `@Serial` annotation ([JDK-8202385](https://bugs.openjdk.org/browse/JDK-8202385)) to types in the java.instrument module to enable stricter compile-time checking of serialization-related declarations. Just a few classes are covered.
> 
> This annotation can be applied to these methods in the module:
> 
> private void writeObject(java.io.ObjectOutputStream stream) throws IOException
> private void readObject(java.io.ObjectInputStream stream) throws IOException, ClassNotFoundException
> private void readObjectNoData() throws ObjectStreamException
> ANY-ACCESS-MODIFIER Object writeReplace() throws ObjectStreamException
> ANY-ACCESS-MODIFIER Object readResolve() throws ObjectStreamException
> private static final ObjectStreamField[] serialPersistentFields
> private static final long serialVersionUID
> 
> 
> Example of a similar change in the [java.compiler](https://github.com/openjdk/jdk/pull/24891) module.

I'm not an expert in this area, but this PR just adds @Serial to 3 instances of serialVersionUID, which is one of the fields mentioned in [JDK-8202385](https://bugs.openjdk.org/browse/JDK-8202385), so lgtm.

It would be worth doing a scan for the instances of serialVersionUID that need @Serial added.

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

Marked as reviewed by phh (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/25738#pullrequestreview-2925554810


More information about the serviceability-dev mailing list