Explicitly specifies generic types which Sun's JDK is not inferring.
Patch by: tobyr
Review by: scottb
Issue: 2039
git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@1750 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 e9c0eb5..b9ef608 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
@@ -44,7 +44,8 @@
Array a = asArrayType(array);
Array result = arraySlice(a, fromIndex, toIndex);
initValues(a.getClass(), a.typeId, a.queryId, result);
- return asArray(result);
+ // implicit type arg not inferred (as of JDK 1.5.0_07)
+ return Array.<T>asArray(result);
}
/**
@@ -55,7 +56,8 @@
Array a = asArrayType(array);
Array result = createFromSeed(NULL_SEED_TYPE, length);
initValues(a.getClass(), a.typeId, a.queryId, result);
- return asArray(result);
+ // implicit type arg not inferred (as of JDK 1.5.0_07)
+ return Array.<T>asArray(result);
}
/**
@@ -149,9 +151,9 @@
*
* @param seedType the primitive type of the array; 0: null; 1: zero; 2: false
* @param length the requested length
- * @see #NULL_ARRAY
- * @see #ZERO_ARRAY
- * @see #FALSE_ARRAY
+ * @see #NULL_SEED_TYPE
+ * @see #ZERO_SEED_TYPE
+ * @see #FALSE_SEED_TYPE
* @return the new JSON array
*/
private static native Array createFromSeed(int seedType, int length) /*-{
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 51b9d73..aaac930 100644
--- a/user/super/com/google/gwt/emul/java/util/ArrayList.java
+++ b/user/super/com/google/gwt/emul/java/util/ArrayList.java
@@ -138,7 +138,8 @@
if (index < 0 || index >= size) {
indexOutOfBounds(index);
}
- return getImpl(array, index);
+ // implicit type arg not inferred (as of JDK 1.5.0_07)
+ return ArrayList.<E>getImpl(array, index);
}
@Override
@@ -201,7 +202,8 @@
a = Array.clonify(a, size);
}
for (int i = 0; i < size; ++i) {
- a[i] = getImpl(array, i);
+ // implicit type arg not inferred (as of JDK 1.5.0_07)
+ a[i] = ArrayList.<T>getImpl(array, i);
}
if (a.length > size) {
a[size] = null;