+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
*
* @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
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();
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;
* 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
/** 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;
}