summaryrefslogtreecommitdiffstats
path: root/libjava/java/util
diff options
context:
space:
mode:
authorbryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4>2001-02-16 01:49:40 +0000
committerbryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4>2001-02-16 01:49:40 +0000
commit0073f26ad231ca80438b13b9c16b19f068f51fd5 (patch)
treea7928a2955317cb20bc8a9990d3f02b818efb59f /libjava/java/util
parentd6f8772955bdfe5772a541ab6d927a74ceffc5fb (diff)
downloadppe42-gcc-0073f26ad231ca80438b13b9c16b19f068f51fd5.tar.gz
ppe42-gcc-0073f26ad231ca80438b13b9c16b19f068f51fd5.zip
* java/util/TreeSet.java (clone): Made subclass safe, use
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
Diffstat (limited to 'libjava/java/util')
-rw-r--r--libjava/java/util/TreeMap.java15
-rw-r--r--libjava/java/util/TreeSet.java13
2 files changed, 22 insertions, 6 deletions
diff --git a/libjava/java/util/TreeMap.java b/libjava/java/util/TreeMap.java
index 5057d16fede..67ecebdaff1 100644
--- a/libjava/java/util/TreeMap.java
+++ b/libjava/java/util/TreeMap.java
@@ -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;
diff --git a/libjava/java/util/TreeSet.java b/libjava/java/util/TreeSet.java
index 070ca260de4..c6875b8d05a 100644
--- a/libjava/java/util/TreeSet.java
+++ b/libjava/java/util/TreeSet.java
@@ -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;
}
OpenPOWER on IntegriCloud