# HG changeset patch # Parent aad3466779bbcc2778d039ef7aee01ac75228b86 diff -r aad3466779bb -r f584c4228c70 src/java.base/share/classes/java/lang/invoke/SerializedLambda.java --- a/src/java.base/share/classes/java/lang/invoke/SerializedLambda.java Thu Sep 19 14:40:54 2019 -0400 +++ b/src/java.base/share/classes/java/lang/invoke/SerializedLambda.java Thu Sep 19 15:04:48 2019 -0400 @@ -77,7 +77,7 @@ public final class SerializedLambda impl private final int implMethodKind; private final String instantiatedMethodType; @SuppressWarnings("serial") // Not statically typed as Serializable - private final Object[] capturedArgs; + private final Serializable[] capturedArgs; /** * Create a {@code SerializedLambda} from the low-level information present @@ -114,7 +114,7 @@ public final class SerializedLambda impl String implMethodName, String implMethodSignature, String instantiatedMethodType, - Object[] capturedArgs) { + Serializable[] capturedArgs) { this.capturingClass = capturingClass; this.functionalInterfaceClass = functionalInterfaceClass; this.functionalInterfaceMethodName = functionalInterfaceMethodName; diff -r aad3466779bb -r f584c4228c70 src/java.base/share/classes/java/time/Ser.java --- a/src/java.base/share/classes/java/time/Ser.java Thu Sep 19 14:40:54 2019 -0400 +++ b/src/java.base/share/classes/java/time/Ser.java Thu Sep 19 15:04:48 2019 -0400 @@ -61,6 +61,7 @@ import java.io.IOException; import java.io.InvalidClassException; import java.io.ObjectInput; import java.io.ObjectOutput; +import java.io.Serializable; import java.io.StreamCorruptedException; /** @@ -112,8 +113,7 @@ final class Ser implements Externalizabl /** The type being serialized. */ private byte type; /** The object being serialized. */ - @SuppressWarnings("serial") // Not statically typed as Serializable - private Object object; + private Serializable object; /** * Constructor for deserialization. @@ -127,7 +127,7 @@ final class Ser implements Externalizabl * @param type the type * @param object the object */ - Ser(byte type, Object object) { + Ser(byte type, Serializable object) { this.type = type; this.object = object; } @@ -248,12 +248,12 @@ final class Ser implements Externalizabl object = readInternal(type, in); } - static Object read(ObjectInput in) throws IOException, ClassNotFoundException { + static Serializable read(ObjectInput in) throws IOException, ClassNotFoundException { byte type = in.readByte(); return readInternal(type, in); } - private static Object readInternal(byte type, ObjectInput in) throws IOException, ClassNotFoundException { + private static Serializable readInternal(byte type, ObjectInput in) throws IOException, ClassNotFoundException { switch (type) { case DURATION_TYPE: return Duration.readExternal(in); case INSTANT_TYPE: return Instant.readExternal(in); diff -r aad3466779bb -r f584c4228c70 src/java.base/share/classes/java/time/chrono/AbstractChronology.java --- a/src/java.base/share/classes/java/time/chrono/AbstractChronology.java Thu Sep 19 14:40:54 2019 -0400 +++ b/src/java.base/share/classes/java/time/chrono/AbstractChronology.java Thu Sep 19 15:04:48 2019 -0400 @@ -731,7 +731,7 @@ public abstract class AbstractChronology */ @java.io.Serial Object writeReplace() { - return new Ser(Ser.CHRONO_TYPE, this); + return new Ser(Ser.CHRONO_TYPE, (Serializable)this); } /** diff -r aad3466779bb -r f584c4228c70 src/java.base/share/classes/java/time/chrono/Ser.java --- a/src/java.base/share/classes/java/time/chrono/Ser.java Thu Sep 19 14:40:54 2019 -0400 +++ b/src/java.base/share/classes/java/time/chrono/Ser.java Thu Sep 19 15:04:48 2019 -0400 @@ -61,6 +61,7 @@ import java.io.IOException; import java.io.InvalidClassException; import java.io.ObjectInput; import java.io.ObjectOutput; +import java.io.Serializable; import java.io.StreamCorruptedException; import java.time.LocalDate; import java.time.LocalDateTime; @@ -110,8 +111,7 @@ final class Ser implements Externalizabl /** The type being serialized. */ private byte type; /** The object being serialized. */ - @SuppressWarnings("serial") // Not statically typed as Serializable - private Object object; + private Serializable object; /** * Constructor for deserialization. @@ -125,7 +125,7 @@ final class Ser implements Externalizabl * @param type the type * @param object the object */ - Ser(byte type, Object object) { + Ser(byte type, Serializable object) { this.type = type; this.object = object; } @@ -231,11 +231,12 @@ final class Ser implements Externalizabl return readInternal(type, in); } - private static Object readInternal(byte type, ObjectInput in) throws IOException, ClassNotFoundException { + private static Serializable readInternal(byte type, ObjectInput in) throws IOException, + ClassNotFoundException { switch (type) { - case CHRONO_TYPE: return AbstractChronology.readExternal(in); - case CHRONO_LOCAL_DATE_TIME_TYPE: return ChronoLocalDateTimeImpl.readExternal(in); - case CHRONO_ZONE_DATE_TIME_TYPE: return ChronoZonedDateTimeImpl.readExternal(in); + case CHRONO_TYPE: return (Serializable)AbstractChronology.readExternal(in); + case CHRONO_LOCAL_DATE_TIME_TYPE: return (Serializable)ChronoLocalDateTimeImpl.readExternal(in); + case CHRONO_ZONE_DATE_TIME_TYPE: return (Serializable)ChronoZonedDateTimeImpl.readExternal(in); case JAPANESE_DATE_TYPE: return JapaneseDate.readExternal(in); case JAPANESE_ERA_TYPE: return JapaneseEra.readExternal(in); case HIJRAH_DATE_TYPE: return HijrahDate.readExternal(in); diff -r aad3466779bb -r f584c4228c70 src/java.base/share/classes/java/time/zone/Ser.java --- a/src/java.base/share/classes/java/time/zone/Ser.java Thu Sep 19 14:40:54 2019 -0400 +++ b/src/java.base/share/classes/java/time/zone/Ser.java Thu Sep 19 15:04:48 2019 -0400 @@ -68,6 +68,7 @@ import java.io.IOException; import java.io.InvalidClassException; import java.io.ObjectInput; import java.io.ObjectOutput; +import java.io.Serializable; import java.io.StreamCorruptedException; import java.time.ZoneOffset; @@ -97,8 +98,7 @@ final class Ser implements Externalizabl /** The type being serialized. */ private byte type; /** The object being serialized. */ - @SuppressWarnings("serial") // Not statically typed as Serializable - private Object object; + private Serializable object; /** * Constructor for deserialization. @@ -112,7 +112,7 @@ final class Ser implements Externalizabl * @param type the type * @param object the object */ - Ser(byte type, Object object) { + Ser(byte type, Serializable object) { this.type = type; this.object = object; } @@ -184,12 +184,13 @@ final class Ser implements Externalizabl object = readInternal(type, in); } - static Object read(DataInput in) throws IOException, ClassNotFoundException { + static Serializable read(DataInput in) throws IOException, ClassNotFoundException { byte type = in.readByte(); return readInternal(type, in); } - private static Object readInternal(byte type, DataInput in) throws IOException, ClassNotFoundException { + private static Serializable readInternal(byte type, DataInput in) throws IOException, + ClassNotFoundException { switch (type) { case ZRULES: return ZoneRules.readExternal(in);