<i18n dev> RFR: 8259522: Apply java.io.Serial annotations in java.desktop [v2]

Sergey Bylokhov serb at openjdk.java.net
Tue Jan 12 20:42:18 UTC 2021


> Please review the application of @java.io.Serial annotation (JDK-8202385) to types in the desktop module to enable stricter compile-time checking of serialization-related declarations.
> 
> 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
> 
> Notes:
>   - I have tried to update the comments for serialVersionUID as accurately as possible, but mostly based on the source code history and bugs in JBS where that field was added
>   - Some of the readObject/writeObject methods in the javax.swing package does not have a spec, because this package and some others are excluded from the serialization specification.
> 
> A similar fix was implemented for java.base module as well:
> http://mail.openjdk.java.net/pipermail/core-libs-dev/2019-August/062046.html

Sergey Bylokhov has updated the pull request incrementally with two additional commits since the last revision:

 - Update src/java.desktop/share/classes/java/awt/image/ImagingOpException.java
   
   Co-authored-by: Aleksei Ivanov <70774172+aivanov-jdk at users.noreply.github.com>
 - Update src/java.desktop/share/classes/java/awt/image/RasterFormatException.java
   
   Co-authored-by: Aleksei Ivanov <70774172+aivanov-jdk at users.noreply.github.com>

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/2020/files
  - new: https://git.openjdk.java.net/jdk/pull/2020/files/2e50a258..502c1a40

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=2020&range=01
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=2020&range=00-01

  Stats: 4 lines in 2 files changed: 0 ins; 4 del; 0 mod
  Patch: https://git.openjdk.java.net/jdk/pull/2020.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/2020/head:pull/2020

PR: https://git.openjdk.java.net/jdk/pull/2020


More information about the i18n-dev mailing list