Commit 0073f26a authored by bryce's avatar bryce
Browse files

* 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
parent d6f87729
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
......
......@@ -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;
......
......@@ -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;
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment