Reviewers: zundel, jbrosenberg,
Description:
The existing code breaks on switch(Integer), it tries to tack an
ordinal() call on the end of the unbox.
Please review this at http://gwt-code-reviews.appspot.com/1450815/
Affected files:
M dev/core/src/com/google/gwt/dev/jjs/impl/GwtAstBuilder.java
Index: dev/core/src/com/google/gwt/dev/jjs/impl/GwtAstBuilder.java
diff --git a/dev/core/src/com/google/gwt/dev/jjs/impl/GwtAstBuilder.java
b/dev/core/src/com/google/gwt/dev/jjs/impl/GwtAstBuilder.java
index
50d98cb4e1876ecd5f224458309851998bc67cb3..120e4ed62cfe77f007e8c2dc09d95d08ebf4fa48
100644
--- a/dev/core/src/com/google/gwt/dev/jjs/impl/GwtAstBuilder.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/impl/GwtAstBuilder.java
@@ -1366,8 +1366,8 @@ public class GwtAstBuilder {
JBlock block = popBlock(info, x.statements);
JExpression expression = pop(x.expression);
- if (x.expression.resolvedType instanceof ReferenceBinding) {
- // Must be an enum; synthesize a call to ordinal().
+ if (x.expression.resolvedType.isEnum()) {
+ // synthesize a call to ordinal().
ReferenceBinding javaLangEnum = scope.getJavaLangEnum();
MethodBinding ordinal = javaLangEnum.getMethods(ORDINAL)[0];
expression = new JMethodCall(info, expression,
typeMap.get(ordinal));
--
http://groups.google.com/group/Google-Web-Toolkit-Contributors