Revision: 10373
Author: gwt.mirror...@gmail.com
Date: Wed Jun 22 01:49:11 2011
Log: Integrate r10359 into GWT 2.4 branch.
http://code.google.com/p/google-web-toolkit/source/detail?r=10373
Modified:
/releases/2.4/user/src/com/google/web/bindery/autobean/shared/ValueCodex.java
/releases/2.4/user/test/com/google/web/bindery/autobean/shared/AutoBeanCodexTest.java
/releases/2.4/user/test/com/google/web/bindery/requestfactory/shared/SimpleEnum.java
=======================================
---
/releases/2.4/user/src/com/google/web/bindery/autobean/shared/ValueCodex.java
Mon Apr 18 02:42:06 2011
+++
/releases/2.4/user/src/com/google/web/bindery/autobean/shared/ValueCodex.java
Wed Jun 22 01:49:11 2011
@@ -123,6 +123,11 @@
}
},
ENUM(Enum.class) {
+ @Override
+ public boolean canUpcast(Object value) {
+ return value instanceof Enum;
+ }
+
@Override
public Enum<?> decode(Class<?> clazz, Splittable value) {
return (Enum<?>) clazz.getEnumConstants()[(int) value.asNumber()];
@@ -352,7 +357,7 @@
* May return <code>null</code>.
*/
private static <T> Type findType(Class<T> clazz) {
- if (clazz.isEnum()) {
+ if (clazz.isEnum() || (clazz.getSuperclass() != null &&
clazz.getSuperclass().isEnum())) {
return Type.ENUM;
}
return TYPES_BY_CLASS.get(clazz);
=======================================
---
/releases/2.4/user/test/com/google/web/bindery/autobean/shared/AutoBeanCodexTest.java
Mon Apr 18 02:42:06 2011
+++
/releases/2.4/user/test/com/google/web/bindery/autobean/shared/AutoBeanCodexTest.java
Wed Jun 22 01:49:11 2011
@@ -141,7 +141,17 @@
}
enum MyEnum {
- FOO, BAR,
+ FOO,
+ /**
+ * Contains a method that cannot even be called, but is enough to make
+ * MyEnum.BAR.getClass().isEnum()==false, because BAR's class is now an
+ * anonymous subclass of MyEnum.
+ */
+ BAR {
+ @SuppressWarnings("unused")
+ private void dummy() {
+ }
+ },
// The eclipse formatter wants to put this annotation inline
@PropertyName("quux")
BAZ;
=======================================
---
/releases/2.4/user/test/com/google/web/bindery/requestfactory/shared/SimpleEnum.java
Tue Apr 5 10:47:39 2011
+++
/releases/2.4/user/test/com/google/web/bindery/requestfactory/shared/SimpleEnum.java
Wed Jun 22 01:49:11 2011
@@ -19,5 +19,15 @@
* Test enum class.
*/
public enum SimpleEnum {
- FOO, BAR
-}
+ FOO,
+ /**
+ * Contains a method that cannot even be called, but is enough to make
+ * SimpleEnum.BAR.getClass().isEnum()==false, because BAR's class is now
an
+ * anonymous subclass of MyEnum.
+ */
+ BAR {
+ @SuppressWarnings("unused")
+ private void dummy() {
+ }
+ }
+}
--
http://groups.google.com/group/Google-Web-Toolkit-Contributors