Revision: 10416
Author:   [email protected]
Date:     Thu Jun 30 06:12:15 2011
Log: Fix bug in UnifyAst where non-null array types failed to canonicalize.

http://gwt-code-reviews.appspot.com/1469802/

Review by: [email protected]
http://code.google.com/p/google-web-toolkit/source/detail?r=10416

Modified:
 /trunk/dev/core/src/com/google/gwt/dev/jjs/impl/UnifyAst.java

=======================================
--- /trunk/dev/core/src/com/google/gwt/dev/jjs/impl/UnifyAst.java Tue Jun 14 09:03:43 2011 +++ /trunk/dev/core/src/com/google/gwt/dev/jjs/impl/UnifyAst.java Thu Jun 30 06:12:15 2011
@@ -1070,19 +1070,24 @@
   }

   private JReferenceType translate(JReferenceType type) {
+    if (type instanceof JNonNullType) {
+      return translate(type.getUnderlyingType()).getNonNull();
+    }
+
     if (type instanceof JArrayType) {
       JArrayType arrayType = (JArrayType) type;
-      type = program.getTypeArray(translate(arrayType.getElementType()));
-    } else if (type.isExternal()) {
+      return program.getTypeArray(translate(arrayType.getElementType()));
+    }
+
+    if (type.isExternal()) {
       if (type instanceof JDeclaredType) {
         type = translate((JDeclaredType) type);
-      } else if (type instanceof JNonNullType) {
-        type = translate(type.getUnderlyingType()).getNonNull();
       } else {
         assert false : "Unknown external type";
       }
-    }
-    assert !type.isExternal();
+      assert !type.isExternal();
+    }
+
     return type;
   }

--
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Reply via email to