OSDN Git Service

* java/util/TreeSet.java (clone): Made subclass safe, use
authorbryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 16 Feb 2001 01:49:40 +0000 (01:49 +0000)
committerbryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 16 Feb 2001 01:49:40 +0000 (01:49 +0000)
super.clone(), not new.
* java/util/TreeMap.java (clone): Likewise.

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

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

index 51557e0..63b9840 100644 (file)
@@ -1,3 +1,9 @@
+2001-02-16  Bryce McKinlay  <bryce@albatross.co.nz>
+
+       * java/util/TreeSet.java (clone): Made subclass safe, use 
+       super.clone(), not new.
+       * java/util/TreeMap.java (clone): Likewise.
+
 2001-02-14  Andrew Haley  <aph@redhat.com>
 
        * include/i386-signal.h (INIT_SEGV): Use a direct system call to
index 5057d16..67ecebd 100644 (file)
@@ -56,7 +56,7 @@ import java.io.IOException;
  *
  * @author           Jon Zeppieri
  * @author          Bryce McKinlay
- * @modified         $Id: TreeMap.java,v 1.1 2001/02/14 04:44:21 bryce Exp $
+ * @modified         $Id: TreeMap.java,v 1.2 2001/02/14 05:32:31 bryce Exp $
  */
 public class TreeMap extends AbstractMap
   implements SortedMap, Cloneable, Serializable
@@ -178,8 +178,14 @@ public class TreeMap extends AbstractMap
 
   public Object clone()
   {
-    TreeMap copy = new TreeMap();
-    copy.comparator = comparator;
+    TreeMap copy = null;
+    try
+      {
+        copy = (TreeMap) super.clone();
+      }
+    catch (CloneNotSupportedException x)
+      {
+      }
     copy.fabricateTree(size);
 
     Node node = firstNode();
@@ -991,6 +997,9 @@ public class TreeMap extends AbstractMap
                parent.right = node;
                parent = nextparent;
              }
+
+           // We use the "right" link to maintain a chain of nodes in 
+           // each row until the parent->child links are established.
            if (last != null)
              last.right = node;
            last = node;
index 070ca26..c6875b8 100644 (file)
@@ -44,8 +44,8 @@ import java.io.ObjectOutputStream;
  * TreeSet is a part of the JDK1.2 Collections API.
  *
  * @author      Jon Zeppieri
- * @version     $Revision: 1.1 $
- * @modified    $Id: TreeSet.java,v 1.1 2001/02/14 04:44:21 bryce Exp $
+ * @version     $Revision: 1.2 $
+ * @modified    $Id: TreeSet.java,v 1.2 2001/02/15 03:59:57 bryce Exp $
  */
 
 public class TreeSet extends AbstractSet
@@ -157,7 +157,14 @@ public class TreeSet extends AbstractSet
   /** Returns a shallow copy of this Set. */
   public Object clone()
   {
-    TreeSet copy = new TreeSet();
+    TreeSet copy = null;
+    try
+      {
+        copy = (TreeSet) super.clone();
+      }
+    catch (CloneNotSupportedException x)
+      {      
+      }
     copy.map = (SortedMap) ((TreeMap) map).clone();
     return copy;
   }