aboutsummaryrefslogtreecommitdiff
path: root/libjava
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2006-09-27 07:58:11 +0000
committerTom Tromey <tromey@redhat.com>2006-09-27 07:58:11 +0000
commite8ec957fd989d126671e973979a20a4854d8b9ed (patch)
tree80f0820b20e882592809e7b0bfae5de14b33cb3b /libjava
parent93abae57af16c45108f92d23aabafefb52d2e3ff (diff)
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=201712
* java/util/Locale.java (hashcode): No longer transient. (writeObject): Use ObjectOutputStream.PutField and defaultWriteObject. (readObject): Use defaultReadObject. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@117248 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava')
-rw-r--r--libjava/ChangeLog8
-rw-r--r--libjava/java/util/Locale.java20
2 files changed, 17 insertions, 11 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 8c4662d6f55..c54f4eebd6d 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,11 @@
+2006-09-27 Tom Tromey <tromey@redhat.com>
+
+ https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=201712
+ * java/util/Locale.java (hashcode): No longer transient.
+ (writeObject): Use ObjectOutputStream.PutField and
+ defaultWriteObject.
+ (readObject): Use defaultReadObject.
+
2006-09-25 Keith Seitz <keiths@redhat.com>
* gnu/classpath/jdwp/VMVirtualMachine.java
diff --git a/libjava/java/util/Locale.java b/libjava/java/util/Locale.java
index d9ecd1ab355..03689aa7a8a 100644
--- a/libjava/java/util/Locale.java
+++ b/libjava/java/util/Locale.java
@@ -1,5 +1,5 @@
/* Locale.java -- i18n locales
- Copyright (C) 1998, 1999, 2001, 2002, 2005 Free Software Foundation, Inc.
+ Copyright (C) 1998, 1999, 2001, 2002, 2005, 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -190,7 +190,7 @@ public final class Locale implements Serializable, Cloneable
*
* @serial should be -1 in serial streams
*/
- private transient int hashcode;
+ private int hashcode;
/**
* The default locale. Except for during bootstrapping, this should never be
@@ -839,11 +839,9 @@ public final class Locale implements Serializable, Cloneable
private void writeObject(ObjectOutputStream s)
throws IOException
{
- s.writeObject(language);
- s.writeObject(country);
- s.writeObject(variant);
- // Hashcode field is always written as -1.
- s.writeInt(-1);
+ ObjectOutputStream.PutField fields = s.putFields();
+ fields.put("hashcode", -1);
+ s.defaultWriteObject();
}
/**
@@ -857,10 +855,10 @@ public final class Locale implements Serializable, Cloneable
private void readObject(ObjectInputStream s)
throws IOException, ClassNotFoundException
{
- language = ((String) s.readObject()).intern();
- country = ((String) s.readObject()).intern();
- variant = ((String) s.readObject()).intern();
- // Recompute hashcode.
+ s.defaultReadObject();
+ language = language.intern();
+ country = country.intern();
+ variant = variant.intern();
hashcode = language.hashCode() ^ country.hashCode() ^ variant.hashCode();
}
} // class Locale