Updated patch which includes a new test. Pre-seeded with some explanation.
http://gwt-code-reviews.appspot.com/1373805/diff/9001/dev/core/src/com/google/gwt/dev/CompileModule.java File dev/core/src/com/google/gwt/dev/CompileModule.java (right): http://gwt-code-reviews.appspot.com/1373805/diff/9001/dev/core/src/com/google/gwt/dev/CompileModule.java#newcode111 dev/core/src/com/google/gwt/dev/CompileModule.java:111: Diff is complicated, but this is really just a simple refactoring so that GwtAstBuilderTest can re-use code. http://gwt-code-reviews.appspot.com/1373805/diff/9001/dev/core/src/com/google/gwt/dev/jjs/impl/GwtAstBuilder.java File dev/core/src/com/google/gwt/dev/jjs/impl/GwtAstBuilder.java (right): http://gwt-code-reviews.appspot.com/1373805/diff/9001/dev/core/src/com/google/gwt/dev/jjs/impl/GwtAstBuilder.java#newcode1247 dev/core/src/com/google/gwt/dev/jjs/impl/GwtAstBuilder.java:1247: } Test case uncovered this missing code. http://gwt-code-reviews.appspot.com/1373805/diff/9001/dev/core/src/com/google/gwt/dev/jjs/impl/GwtAstBuilder.java#newcode1960 dev/core/src/com/google/gwt/dev/jjs/impl/GwtAstBuilder.java:1960: int typeId = (implicitConversion & TypeIds.IMPLICIT_CONVERSION_MASK) >> 4; tests uncovered bug http://gwt-code-reviews.appspot.com/1373805/diff/9001/dev/core/src/com/google/gwt/dev/jjs/impl/GwtAstBuilder.java#newcode1973 dev/core/src/com/google/gwt/dev/jjs/impl/GwtAstBuilder.java:1973: } The cast code is new-to-here, uncovered bug, copied from GenerateJavaAst. http://gwt-code-reviews.appspot.com/1373805/diff/9001/dev/core/src/com/google/gwt/dev/jjs/impl/GwtAstBuilder.java#newcode2253 dev/core/src/com/google/gwt/dev/jjs/impl/GwtAstBuilder.java:2253: } Confusingly, "box" and "unbox" were misnamed, even though they did the "right" thing based on how they were called. http://gwt-code-reviews.appspot.com/1373805/diff/9001/dev/core/src/com/google/gwt/dev/jjs/impl/GwtAstBuilder.java#newcode3009 dev/core/src/com/google/gwt/dev/jjs/impl/GwtAstBuilder.java:3009: */ JDT doesn't visit static fields in local types (since they must be compile-time-constants). Was causing source diff. http://gwt-code-reviews.appspot.com/1373805/diff/9001/dev/core/src/com/google/gwt/dev/jjs/impl/GwtAstBuilder.java#newcode3043 dev/core/src/com/google/gwt/dev/jjs/impl/GwtAstBuilder.java:3043: Set<String> alreadyNamedVariables = new HashSet<String>(); More source-compat code. http://gwt-code-reviews.appspot.com/1373805/diff/9001/user/build.xml File user/build.xml (right): http://gwt-code-reviews.appspot.com/1373805/diff/9001/user/build.xml#newcode39 user/build.xml:39: <property name="gwt.nongwt.testcase.excludes" value="" /> I talked to Freeland about this extensively... currently there is no category of gwt-user tests that don't get run across every permutation of dev, user, htmlunit, browser, etc. We thought it was time to create such a category. http://gwt-code-reviews.appspot.com/1373805/ -- http://groups.google.com/group/Google-Web-Toolkit-Contributors