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;
}
}