OSDN Git Service

* java/util/TreeMap.java (nil): Made non-final.
authorbryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 16 Feb 2001 02:25:24 +0000 (02:25 +0000)
committerbryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 16 Feb 2001 02:25:24 +0000 (02:25 +0000)
(clone): Create new nil node for copy.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@39736 138bc75d-0d04-0410-961f-82ee72b054a4

libjava/ChangeLog
libjava/java/util/TreeMap.java

index 63b9840..f3b77a1 100644 (file)
@@ -3,6 +3,9 @@
        * java/util/TreeSet.java (clone): Made subclass safe, use 
        super.clone(), not new.
        * java/util/TreeMap.java (clone): Likewise.
+       
+       * java/util/TreeMap.java (nil): Made non-final.
+       (clone): Create new nil node for copy.
 
 2001-02-14  Andrew Haley  <aph@redhat.com>
 
index 67ecebd..26e3fd6 100644 (file)
@@ -56,7 +56,7 @@ import java.io.IOException;
  *
  * @author           Jon Zeppieri
  * @author          Bryce McKinlay
- * @modified         $Id: TreeMap.java,v 1.2 2001/02/14 05:32:31 bryce Exp $
+ * @modified         $Id: TreeMap.java,v 1.3 2001/02/16 01:49:40 bryce Exp $
  */
 public class TreeMap extends AbstractMap
   implements SortedMap, Cloneable, Serializable
@@ -67,7 +67,7 @@ public class TreeMap extends AbstractMap
   /** Sentinal node, used to avoid null checks for corner cases and make the
       delete rebalance code simpler. Note that this must not be static, due 
       to thread-safety concerns. */
-  transient final Node nil = new Node(null, null);
+  transient Node nil = new Node(null, null);
 
   /** The root node of this TreeMap */
   transient Node root = nil;
@@ -186,6 +186,8 @@ public class TreeMap extends AbstractMap
     catch (CloneNotSupportedException x)
       {
       }
+    // Each instance must have a unique sentinal.
+    copy.nil = new Node(null, null);
     copy.fabricateTree(size);
 
     Node node = firstNode();