This is the mail archive of the java-patches@sources.redhat.com mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Patch: Serialization


Folks,
Here's a bunch of serialization mods to handle many of the special case
classes.  I'm checking these in but there'll be more to come.  FYI, I'm
updating the appropriate corresponding files in Classpath.

Enjoy!
--warrenl


2000-09-08  Warren Levy  <warrenl@cygnus.com>

	* java/beans/PropertyChangeEvent.java (serialVersionUID): Added.
	* java/beans/PropertyVetoException.java (serialVersionUID): Added.
	* java/io/File.java (writeObject): Added.
	(readObject): Added.
	(serialVersionUID): Added.
	* java/io/ObjectOutputStream.java (writeObject): Initialized
	fieldsAlreadyWritten before recursion rather than after.
	* java/io/ObjectStreamClass.java (serialVersionUID): Added.
	* java/io/OptionalDataException.java (serialVersionUID): Added.
	(OptionalDataException): Made package private.
	* java/io/SyncFailedException.java (SyncFailedException): Removed
	default constructor to match spec.
	* java/lang/Boolean.java (serialVersionUID): Added.
	* java/lang/Byte.java (serialVersionUID): Added.
	* java/lang/Character.java (serialVersionUID): Added.
	* java/lang/Double.java (serialVersionUID): Added.
	* java/lang/Float.java (serialVersionUID): Added.
	* java/lang/Integer.java (serialVersionUID): Added.
	* java/lang/Long.java (serialVersionUID): Added.
	* java/lang/Number.java (serialVersionUID): Added.
	* java/lang/Short.java (serialVersionUID): Added.
	* java/lang/String.java (serialVersionUID): Added.
	* java/lang/ThreadDeath.java (ThreadDeath): Removed constructor
	to match spec.
	* java/lang/reflect/InvocationTargetException.java
	(serialVersionUID): Added.
	* java/net/URL.java (handler): Made transient.
	(hashCode): Added field for serialization, per spec. and use
	cached value if available.
	(serialVersionUID): Added.
	(URL): Initialize hashCode.
	(set): Adjust hashCode.
	(readObject): New Method to initialize the protocol handler when
	deserializing.
	(writeObject): New method.
	* java/text/BreakIterator.java: Removed 'implements Serializable'.
	* java/text/Collator.java: Removed 'implements Serializable'.
	* java/util/GregorianCalendar.java (serialVersionUID): Added.
	* java/util/Properties.java (serialVersionUID): Added.
	* java/util/Random.java (serialVersionUID): Added.
	(seed): Made private.
	(nextNextGaussian): Made private.
	(haveNextNextGaussian): Made private.
	* java/util/Stack.java (serialVersionUID): Added.
	* java/util/TimeZone.java (serialVersionUID): Added.
	* java/util/Vector.java (serialVersionUID): Added.



Index: java/beans/PropertyChangeEvent.java
===================================================================
RCS file: /cvs/java/libgcj/libjava/java/beans/PropertyChangeEvent.java,v
retrieving revision 1.2
diff -u -p -r1.2 PropertyChangeEvent.java
--- PropertyChangeEvent.java	2000/06/27 05:10:02	1.2
+++ PropertyChangeEvent.java	2000/09/08 18:59:57
@@ -54,6 +54,8 @@ public class PropertyChangeEvent extends
 	Object newValue;
 	Object propagationId;
 
+	private static final long serialVersionUID = 7042693688939648123L;
+
 	/** Create a new PropertyChangeEvent.  Remember that if
 	 ** you received a PropertyChangeEvent and are sending
 	 ** a new one, you should also set the propagation ID
Index: java/beans/PropertyVetoException.java
===================================================================
RCS file: /cvs/java/libgcj/libjava/java/beans/PropertyVetoException.java,v
retrieving revision 1.2
diff -u -p -r1.2 PropertyVetoException.java
--- PropertyVetoException.java	2000/06/27 05:10:02	1.2
+++ PropertyVetoException.java	2000/09/08 18:59:57
@@ -39,6 +39,8 @@ package java.beans;
 public class PropertyVetoException extends Exception {
 	PropertyChangeEvent evt;
 
+	private static final long serialVersionUID = 129596057694162164L;
+
 	/** Instantiate this exception with the given message and property change.
 	 ** @param msg the reason for the veto.
 	 ** @param changeEvent the PropertyChangeEvent that was thrown.
Index: java/io/File.java
===================================================================
RCS file: /cvs/java/libgcj/libjava/java/io/File.java,v
retrieving revision 1.13
diff -u -p -r1.13 File.java
--- File.java	2000/09/04 20:57:18	1.13
+++ File.java	2000/09/08 19:14:02
@@ -388,6 +388,24 @@ public class File implements Serializabl
     FileDeleter.add (this);
   }
 
+  private void writeObject (ObjectOutputStream oos) throws IOException
+  {
+    oos.defaultWriteObject ();
+    oos.writeChar (separatorChar);
+  }
+
+  private void readObject (ObjectInputStream ois)
+    throws ClassNotFoundException, IOException
+  {
+    ois.defaultReadObject ();
+
+    // If the file was from an OS with a different dir separator,
+    // fixup the path to use the separator on this OS.
+    char oldSeparatorChar = ois.readChar ();
+    if (oldSeparatorChar != separatorChar)
+      path = path.replace (oldSeparatorChar, separatorChar);
+  }
+
   // QUERY arguments to access function.
   private final static int READ = 0;
   private final static int WRITE = 1;
@@ -404,4 +422,6 @@ public class File implements Serializabl
   private final native long attr (String p, int query);
   private final native boolean access (String p, int query);
   private final native boolean stat (String p, int query);
+
+  private static final long serialVersionUID = 301077366599181567L;
 }
Index: java/io/ObjectOutputStream.java
===================================================================
RCS file: /cvs/java/libgcj/libjava/java/io/ObjectOutputStream.java,v
retrieving revision 1.5
diff -u -p -r1.5 ObjectOutputStream.java
--- ObjectOutputStream.java	2000/08/04 00:42:20	1.5
+++ ObjectOutputStream.java	2000/09/08 18:59:57
@@ -313,11 +313,11 @@ public class ObjectOutputStream extends 
 	  {
 	    currentObjectStreamClass = hierarchy[i];
 
+	    fieldsAlreadyWritten = false;
 	    has_write = currentObjectStreamClass.hasWriteMethod ();
+
 	    writeFields (obj, currentObjectStreamClass.fields,
 			 has_write);
-
-	    fieldsAlreadyWritten = false;
 
 	    if (has_write)
 	    {
Index: java/io/ObjectStreamClass.java
===================================================================
RCS file: /cvs/java/libgcj/libjava/java/io/ObjectStreamClass.java,v
retrieving revision 1.4
diff -u -p -r1.4 ObjectStreamClass.java
--- ObjectStreamClass.java	2000/08/04 00:42:20	1.4
+++ ObjectStreamClass.java	2000/09/08 18:59:57
@@ -635,6 +635,10 @@ public class ObjectStreamClass implement
   // these are accessed by ObjectIn/OutputStream
   int primFieldSize = -1;  // -1 if not yet calculated
   int objectFieldCount;
+
+  // This is probably not necessary because this class is special cased already
+  // but it will avoid showing up as a discrepancy when comparing SUIDs.
+  private static final long serialVersionUID = -6120832682080437368L;
 }
 
 
Index: java/io/OptionalDataException.java
===================================================================
RCS file: /cvs/java/libgcj/libjava/java/io/OptionalDataException.java,v
retrieving revision 1.2
diff -u -p -r1.2 OptionalDataException.java
--- OptionalDataException.java	2000/06/27 05:10:02	1.2
+++ OptionalDataException.java	2000/09/08 18:59:57
@@ -23,12 +23,16 @@ public class OptionalDataException exten
   public boolean eof;
   public int length;
 
-  public OptionalDataException()
+  // FIXME: This can probably go away once the right signatures of
+  // these package private constructors is determined.
+  private static final long serialVersionUID = -8011121865681257820L;
+
+  OptionalDataException()
   {
     super();
   }
 
-  public OptionalDataException(String msg)
+  OptionalDataException(String msg)
   {
     super(msg);
   }
Index: java/io/SyncFailedException.java
===================================================================
RCS file: /cvs/java/libgcj/libjava/java/io/SyncFailedException.java,v
retrieving revision 1.3
diff -u -p -r1.3 SyncFailedException.java
--- SyncFailedException.java	2000/03/07 19:55:26	1.3
+++ SyncFailedException.java	2000/09/08 18:59:57
@@ -22,11 +22,6 @@ package java.io;
 
 public class SyncFailedException extends IOException
 {
-  public SyncFailedException ()
-  {
-    super ();
-  }
-
   public SyncFailedException (String s)
   {
     super (s);
Index: java/lang/Boolean.java
===================================================================
RCS file: /cvs/java/libgcj/libjava/java/lang/Boolean.java,v
retrieving revision 1.5
diff -u -p -r1.5 Boolean.java
--- Boolean.java	2000/03/07 19:55:26	1.5
+++ Boolean.java	2000/09/08 18:59:57
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998, 1999  Free Software Foundation
+/* Copyright (C) 1998, 1999, 2000  Free Software Foundation
 
    This file is part of libgcj.
 
@@ -31,6 +31,8 @@ public final class Boolean extends Objec
 
   /* The boolean value of the instance. */
   private boolean value;
+
+  private static final long serialVersionUID = -3665804199014368530L;
 
   public Boolean(boolean boolVal)
   {
Index: java/lang/Byte.java
===================================================================
RCS file: /cvs/java/libgcj/libjava/java/lang/Byte.java,v
retrieving revision 1.3
diff -u -p -r1.3 Byte.java
--- Byte.java	2000/03/07 19:55:26	1.3
+++ Byte.java	2000/09/08 18:59:57
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998, 1999  Free Software Foundation
+/* Copyright (C) 1998, 1999, 2000  Free Software Foundation
 
    This file is part of libgcj.
 
@@ -28,6 +28,8 @@ public final class Byte extends Number i
   // This initialization is seemingly circular, but it is accepted
   // by javac, and is handled specially by gcc.
   public static final Class TYPE = byte.class;
+
+  private static final long serialVersionUID = -7183698231559129828L;
 
   public Byte(byte value)
   {
Index: java/lang/Character.java
===================================================================
RCS file: /cvs/java/libgcj/libjava/java/lang/Character.java,v
retrieving revision 1.3
diff -u -p -r1.3 Character.java
--- Character.java	2000/03/07 19:55:26	1.3
+++ Character.java	2000/09/08 18:59:57
@@ -1,6 +1,6 @@
 // Character.java - Character class.
 
-/* Copyright (C) 1998, 1999  Free Software Foundation
+/* Copyright (C) 1998, 1999, 2000  Free Software Foundation
 
    This file is part of libgcj.
 
@@ -83,6 +83,7 @@ public final class Character implements 
   public static final byte PRIVATE_USE = 18;
   public static final byte SURROGATE   = 19;
 
+  private static final long serialVersionUID = 3786198910865385080L;
 
   public Character (char ch)
   {
Index: java/lang/Double.java
===================================================================
RCS file: /cvs/java/libgcj/libjava/java/lang/Double.java,v
retrieving revision 1.5
diff -u -p -r1.5 Double.java
--- Double.java	2000/06/27 18:35:54	1.5
+++ Double.java	2000/09/08 18:59:57
@@ -32,6 +32,8 @@ public final class Double extends Number
 
   private double value;
 
+  private static final long serialVersionUID = -9172774392245257468L;
+
   public native static double parseDouble (String s) 
     throws NumberFormatException;
 
Index: java/lang/Float.java
===================================================================
RCS file: /cvs/java/libgcj/libjava/java/lang/Float.java,v
retrieving revision 1.3
diff -u -p -r1.3 Float.java
--- Float.java	2000/03/07 19:55:26	1.3
+++ Float.java	2000/09/08 18:59:57
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998, 1999  Free Software Foundation
+/* Copyright (C) 1998, 1999, 2000  Free Software Foundation
 
    This file is part of libgcj.
 
@@ -31,6 +31,8 @@ public final class Float extends Number
   public static final Class TYPE = float.class;
 
   private float value;
+
+  private static final long serialVersionUID = -2671257302660747028L;
 
   public Float (float value)
   {
Index: java/lang/Integer.java
===================================================================
RCS file: /cvs/java/libgcj/libjava/java/lang/Integer.java,v
retrieving revision 1.4
diff -u -p -r1.4 Integer.java
--- Integer.java	2000/03/07 19:55:26	1.4
+++ Integer.java	2000/09/08 18:59:57
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998, 1999  Free Software Foundation
+/* Copyright (C) 1998, 1999, 2000  Free Software Foundation
 
    This file is part of libgcj.
 
@@ -29,6 +29,8 @@ public final class Integer extends Numbe
 
   /* The int value of the instance. */
   private int value;
+
+  private static final long serialVersionUID = 1360826667806852920L;
 
   public Integer(int val)
   {
Index: java/lang/Long.java
===================================================================
RCS file: /cvs/java/libgcj/libjava/java/lang/Long.java,v
retrieving revision 1.4
diff -u -p -r1.4 Long.java
--- Long.java	2000/03/07 19:55:26	1.4
+++ Long.java	2000/09/08 18:59:57
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998, 1999  Free Software Foundation
+/* Copyright (C) 1998, 1999, 2000  Free Software Foundation
 
    This file is part of libgcj.
 
@@ -29,6 +29,8 @@ public final class Long extends Number i
 
   /* The long value of the instance. */
   private long value;
+
+  private static final long serialVersionUID = 4290774380558885855L;
 
   public Long(long val)
   {
Index: java/lang/Number.java
===================================================================
RCS file: /cvs/java/libgcj/libjava/java/lang/Number.java,v
retrieving revision 1.3
diff -u -p -r1.3 Number.java
--- Number.java	2000/03/07 19:55:26	1.3
+++ Number.java	2000/09/08 18:59:57
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998, 1999  Free Software Foundation
+/* Copyright (C) 1998, 1999, 2000  Free Software Foundation
 
    This file is part of libgcj.
 
@@ -36,4 +36,6 @@ public abstract class Number implements 
   {
     return (short) intValue();
   }
+
+  private static final long serialVersionUID = -8742448824652078965L;
 }
Index: java/lang/Short.java
===================================================================
RCS file: /cvs/java/libgcj/libjava/java/lang/Short.java,v
retrieving revision 1.3
diff -u -p -r1.3 Short.java
--- Short.java	2000/03/07 19:55:26	1.3
+++ Short.java	2000/09/08 18:59:57
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998, 1999  Free Software Foundation
+/* Copyright (C) 1998, 1999, 2000  Free Software Foundation
 
    This file is part of libgcj.
 
@@ -28,6 +28,8 @@ public final class Short extends Number 
   // This initialization is seemingly circular, but it is accepted
   // by javac, and is handled specially by gcc.
   public static final Class TYPE = short.class;
+
+  private static final long serialVersionUID = 7515723908773894738L;
 
   public Short(short value)
   {
Index: java/lang/String.java
===================================================================
RCS file: /cvs/java/libgcj/libjava/java/lang/String.java,v
retrieving revision 1.9
diff -u -p -r1.9 String.java
--- String.java	2000/05/19 17:55:32	1.9
+++ String.java	2000/09/08 18:59:57
@@ -26,6 +26,10 @@ public final class String implements Ser
   private int boffset; // Note this is a byte offset - don't use in Java code!
   private int count;
 
+  // This is probably not necessary because this class is special cased already
+  // but it will avoid showing up as a discrepancy when comparing SUIDs.
+  private static final long serialVersionUID = -6849794470754667710L;
+
   public String ()
   {
     init();
Index: java/lang/ThreadDeath.java
===================================================================
RCS file: /cvs/java/libgcj/libjava/java/lang/ThreadDeath.java,v
retrieving revision 1.3
diff -u -p -r1.3 ThreadDeath.java
--- ThreadDeath.java	2000/03/07 19:55:26	1.3
+++ ThreadDeath.java	2000/09/08 18:59:57
@@ -1,6 +1,6 @@
 // ThreadDeath.java - Special exception registering Thread death.
 
-/* Copyright (C) 1998, 1999  Free Software Foundation
+/* Copyright (C) 1998, 1999, 2000  Free Software Foundation
 
    This file is part of libgcj.
 
@@ -26,10 +26,5 @@ public class ThreadDeath extends Error
   public ThreadDeath ()
   {
     super ();
-  }
-
-  public ThreadDeath (String message)
-  {
-    super (message);
   }
 }
Index: java/lang/reflect/InvocationTargetException.java
===================================================================
RCS file: /cvs/java/libgcj/libjava/java/lang/reflect/InvocationTargetException.java,v
retrieving revision 1.3
diff -u -p -r1.3 InvocationTargetException.java
--- InvocationTargetException.java	2000/03/07 19:55:27	1.3
+++ InvocationTargetException.java	2000/09/08 18:59:57
@@ -1,6 +1,6 @@
 // InvocationTargetException.java - Wrapper exception for reflection.
 
-/* Copyright (C) 1998, 1999  Free Software Foundation
+/* Copyright (C) 1998, 1999, 2000  Free Software Foundation
 
    This file is part of libgcj.
 
@@ -70,4 +70,6 @@ public class InvocationTargetException e
   // The wrapped exception.  The name is specified by the
   // serialization spec.
   private Throwable target;
+
+  private static final long serialVersionUID = 4085088731926701167L;
 }
Index: java/net/URL.java
===================================================================
RCS file: /cvs/java/libgcj/libjava/java/net/URL.java,v
retrieving revision 1.6
diff -u -p -r1.6 URL.java
--- URL.java	2000/05/19 17:55:32	1.6
+++ URL.java	2000/09/08 18:59:57
@@ -1,6 +1,6 @@
 // URL.java - A Uniform Resource Locator.
 
-/* Copyright (C) 1999  Free Software Foundation
+/* Copyright (C) 1999, 2000  Free Software Foundation
 
    This file is part of libgcj.
 
@@ -32,10 +32,13 @@ public final class URL implements Serial
   private int port = -1;	// Initialize for constructor using context.
   private String file;
   private String ref;
-  private URLStreamHandler handler;
+  private int hashCode = 0;
+  transient private URLStreamHandler handler;
   private static Hashtable handlers = new Hashtable();
   private static URLStreamHandlerFactory factory;
 
+  private static final long serialVersionUID = -7627629688361524110L;
+
   public URL(String protocol, String host, int port, String file)
     throws MalformedURLException
   {
@@ -90,6 +93,7 @@ public final class URL implements Serial
 	this.file = file.substring(0, hashAt);
 	this.ref = file.substring(hashAt + 1);
       }
+    hashCode = hashCode();			// Used for serialization.
   }
 
   public URL(String spec) throws MalformedURLException
@@ -181,6 +185,8 @@ public final class URL implements Serial
 			  hashAt < 0 ? spec.length() : hashAt);
     if (hashAt >= 0)
       ref = spec.substring(hashAt + 1);
+
+    hashCode = hashCode();			// Used for serialization.
   }
 
   public boolean equals(Object obj)
@@ -249,7 +255,10 @@ public final class URL implements Serial
     // (which was reduced to "" with a hashcode of zero).  A "" host also
     // causes the port number and the two hashcodes to be summed.
 
-    return (protocol.hashCode() + ((host == null) ? 0 : host.hashCode()) +
+    if (hashCode != 0)
+      return hashCode;		// Use cached value if available.
+    else
+      return (protocol.hashCode() + ((host == null) ? 0 : host.hashCode()) +
 	port + file.hashCode());
   }
 
@@ -290,6 +299,7 @@ public final class URL implements Serial
     this.host = host;
     this.file = file;
     this.ref = ref;
+    hashCode = hashCode();			// Used for serialization.
   }
 
   public static synchronized void
@@ -383,5 +393,19 @@ public final class URL implements Serial
 	handler = null;
 
     return handler;
+  }
+
+  private void readObject(ObjectInputStream ois)
+    throws IOException, ClassNotFoundException
+  {
+    ois.defaultReadObject();
+    this.handler = setURLStreamHandler(protocol);
+    if (this.handler == null)
+      throw new IOException("Handler for protocol " + protocol + " not found");
+  }
+
+  private void writeObject(ObjectOutputStream oos) throws IOException
+  {
+    oos.defaultWriteObject();
   }
 }
Index: java/text/BreakIterator.java
===================================================================
RCS file: /cvs/java/libgcj/libjava/java/text/BreakIterator.java,v
retrieving revision 1.3
diff -u -p -r1.3 BreakIterator.java
--- BreakIterator.java	2000/03/07 19:55:27	1.3
+++ BreakIterator.java	2000/09/08 18:59:57
@@ -10,7 +10,6 @@ details.  */
 
 package java.text;
 
-import java.io.Serializable;
 import java.util.Locale;
 import java.util.MissingResourceException;
 import java.util.ResourceBundle;
@@ -24,7 +23,7 @@ import java.util.ResourceBundle;
  * Status:  Believed complete and correct to 1.1.
  */
 
-public abstract class BreakIterator implements Cloneable, Serializable
+public abstract class BreakIterator implements Cloneable
 {
   // The value was discovered by writing a test program.
   public static final int DONE = -1;
Index: java/text/Collator.java
===================================================================
RCS file: /cvs/java/libgcj/libjava/java/text/Collator.java,v
retrieving revision 1.5
diff -u -p -r1.5 Collator.java
--- Collator.java	2000/03/07 19:55:27	1.5
+++ Collator.java	2000/09/08 18:59:57
@@ -10,7 +10,6 @@ details.  */
 
 package java.text;
 
-import java.io.Serializable;
 import java.util.Locale;
 import java.util.MissingResourceException;
 import java.util.ResourceBundle;
@@ -24,7 +23,7 @@ import java.util.ResourceBundle;
  * Status: Mostly complete, but parts stubbed out.  Look for FIXME.
  */
 
-public abstract class Collator implements Cloneable, Serializable
+public abstract class Collator implements Cloneable
 {
   public static final int NO_DECOMPOSITION = 0;
   public static final int CANONICAL_DECOMPOSITION = 1;
Index: java/util/GregorianCalendar.java
===================================================================
RCS file: /cvs/java/libgcj/libjava/java/util/GregorianCalendar.java,v
retrieving revision 1.4
diff -u -p -r1.4 GregorianCalendar.java
--- GregorianCalendar.java	2000/03/07 19:55:27	1.4
+++ GregorianCalendar.java	2000/09/08 18:59:57
@@ -89,6 +89,8 @@ public class GregorianCalendar extends C
     3600000 /* DST_OFFSET */
   };
 
+  private static final long serialVersionUID = -8125100834729963327L;
+
   public GregorianCalendar ()
   {
     this(null, null);
Index: java/util/Properties.java
===================================================================
RCS file: /cvs/java/libgcj/libjava/java/util/Properties.java,v
retrieving revision 1.5
diff -u -p -r1.5 Properties.java
--- Properties.java	2000/03/07 19:55:27	1.5
+++ Properties.java	2000/09/08 18:59:57
@@ -33,6 +33,8 @@ public class Properties extends Hashtabl
 {
   protected Properties defaults;
 
+  private static final long serialVersionUID = 4112578634029874840L;
+
   public String getProperty (String propName)
     {
       return getProperty (propName, null);
Index: java/util/Random.java
===================================================================
RCS file: /cvs/java/libgcj/libjava/java/util/Random.java,v
retrieving revision 1.3
diff -u -p -r1.3 Random.java
--- Random.java	2000/03/07 19:55:27	1.3
+++ Random.java	2000/09/08 18:59:57
@@ -26,15 +26,17 @@ import java.io.Serializable;
 public class Random implements Serializable
 {
   /* Used by next() to hold the state of the pseudorandom number generator */
-  protected long seed;
+  private long seed;
 
   /* Used by nextGaussian() to hold a precomputed value */
   /* to be delivered by that method the next time it is called */
-  protected double nextNextGaussian;
+  private double nextNextGaussian;
 
   /* Used by nextGaussian() to keep track of whether it is has precomputed */
   /* and stashed away the next value to be delivered by that method */
-  protected boolean haveNextNextGaussian = false;
+  private boolean haveNextNextGaussian = false;
+
+  private static final long serialVersionUID = 3905348978240129619L;
 
   public Random()
   {
Index: java/util/Stack.java
===================================================================
RCS file: /cvs/java/libgcj/libjava/java/util/Stack.java,v
retrieving revision 1.3
diff -u -p -r1.3 Stack.java
--- Stack.java	2000/03/07 19:55:27	1.3
+++ Stack.java	2000/09/08 18:59:57
@@ -71,4 +71,6 @@ public class Stack extends Vector
 
     return -1;
   }
+
+  private static final long serialVersionUID = 1224463164541339165L;
 }
Index: java/util/TimeZone.java
===================================================================
RCS file: /cvs/java/libgcj/libjava/java/util/TimeZone.java,v
retrieving revision 1.5
diff -u -p -r1.5 TimeZone.java
--- TimeZone.java	2000/03/07 19:55:27	1.5
+++ TimeZone.java	2000/09/08 18:59:57
@@ -30,6 +30,8 @@ public abstract class TimeZone implement
 
   private static TimeZone zoneDefault;
 
+  private static final long serialVersionUID = 3581463369166924961L;
+
   public TimeZone ()
   {
   }
Index: java/util/Vector.java
===================================================================
RCS file: /cvs/java/libgcj/libjava/java/util/Vector.java,v
retrieving revision 1.6
diff -u -p -r1.6 Vector.java
--- Vector.java	2000/07/20 19:27:57	1.6
+++ Vector.java	2000/09/08 18:59:57
@@ -61,6 +61,8 @@ public class Vector implements Cloneable
   /* The buffer in which elements of this vector are stored */
   protected Object[] elementData;
 
+  private static final long serialVersionUID = -2767605614048989439L;
+
   public Vector()
   {
     this(10, 0);


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]