diff options
Diffstat (limited to 'libjava/java/util/IdentityHashMap.java')
-rw-r--r-- | libjava/java/util/IdentityHashMap.java | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/libjava/java/util/IdentityHashMap.java b/libjava/java/util/IdentityHashMap.java index 5a1d76b..c23f8ac 100644 --- a/libjava/java/util/IdentityHashMap.java +++ b/libjava/java/util/IdentityHashMap.java @@ -83,11 +83,22 @@ public class IdentityHashMap extends AbstractMap size = 0; } + /** + * Creates a shallow copy where keys and values are not cloned. + */ public Object clone () { - IdentityHashMap copy = (IdentityHashMap) super.clone (); - copy.table = (Object[]) table.clone (); - return copy; + try + { + IdentityHashMap copy = (IdentityHashMap) super.clone (); + copy.table = (Object[]) table.clone (); + return copy; + } + catch (CloneNotSupportedException e) + { + // Can't happen. + return null; + } } public boolean containsKey (Object key) |