Misc cleanup. git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@2477 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/dev/core/super/com/google/gwt/dev/jjs/intrinsic/com/google/gwt/lang/Array.java b/dev/core/super/com/google/gwt/dev/jjs/intrinsic/com/google/gwt/lang/Array.java index 86adf44..ccd73ed 100644 --- a/dev/core/super/com/google/gwt/dev/jjs/intrinsic/com/google/gwt/lang/Array.java +++ b/dev/core/super/com/google/gwt/dev/jjs/intrinsic/com/google/gwt/lang/Array.java
@@ -40,6 +40,13 @@ private static Array protoTypeArray; /** + * Creates a copy of the specified array. + */ + public static <T> T[] clone(T[] array) { + return cloneSubrange(array, 0, array.length); + } + + /** * Creates a copy of a subrange of the specified array. */ public static <T> T[] cloneSubrange(T[] array, int fromIndex, int toIndex) { @@ -47,11 +54,18 @@ Array result = arraySlice(a, fromIndex, toIndex); initValues(a.getClass(), a.typeId, a.queryId, result); // implicit type arg not inferred (as of JDK 1.5.0_07) - return Array.<T>asArray(result); + return Array.<T> asArray(result); } /** - * Creates a new array of the exact same type as a given array but with the + * Creates a new array of the exact same type and length as a given array. + */ + public static <T> T[] clonify(T[] array) { + return clonify(array, array.length); + } + + /** + * Creates an empty array of the exact same type as a given array, with the * specified length. */ public static <T> T[] clonify(T[] array, int length) { @@ -59,7 +73,7 @@ Array result = createFromSeed(NULL_SEED_TYPE, length); initValues(a.getClass(), a.typeId, a.queryId, result); // implicit type arg not inferred (as of JDK 1.5.0_07) - return Array.<T>asArray(result); + return Array.<T> asArray(result); } /**
diff --git a/user/super/com/google/gwt/emul/java/util/ArrayList.java b/user/super/com/google/gwt/emul/java/util/ArrayList.java index 39add41..b2597d7 100644 --- a/user/super/com/google/gwt/emul/java/util/ArrayList.java +++ b/user/super/com/google/gwt/emul/java/util/ArrayList.java
@@ -185,6 +185,12 @@ return size; } + @Override + public Object[] toArray() { + // TODO: Array.clone() variant + return super.toArray(); + } + /* * Faster than the iterator-based implementation in AbstractCollection. */
diff --git a/user/super/com/google/gwt/emul/java/util/Arrays.java b/user/super/com/google/gwt/emul/java/util/Arrays.java index 2f44c60..6259023 100644 --- a/user/super/com/google/gwt/emul/java/util/Arrays.java +++ b/user/super/com/google/gwt/emul/java/util/Arrays.java
@@ -66,7 +66,7 @@ */ @Override public Object[] toArray() { - return toArray(Array.clonify(array, size())); + return toArray(Array.clonify(array)); } /*
diff --git a/user/super/com/google/gwt/emul/java/util/MapEntryImpl.java b/user/super/com/google/gwt/emul/java/util/MapEntryImpl.java index beac1d5..3690fc7 100644 --- a/user/super/com/google/gwt/emul/java/util/MapEntryImpl.java +++ b/user/super/com/google/gwt/emul/java/util/MapEntryImpl.java
@@ -40,9 +40,9 @@ return value; } - public V setValue(V object) { - V old = value; - value = object; + public V setValue(V value) { + V old = getValue(); + this.value = value; return old; } }