LGTM, with some nits.
http://gwt-code-reviews.appspot.com/675801/diff/1/3 File dev/core/src/com/google/gwt/dev/jjs/impl/GenerateJavaAST.java (right): http://gwt-code-reviews.appspot.com/675801/diff/1/3#newcode701 dev/core/src/com/google/gwt/dev/jjs/impl/GenerateJavaAST.java:701: paramIt = getSyntheticLocalsIterator(); Prefer declaring a new var here. syntheticParamIt? http://gwt-code-reviews.appspot.com/675801/diff/1/3#newcode1258 dev/core/src/com/google/gwt/dev/jjs/impl/GenerateJavaAST.java:1258: // Synthetic locals for local classes Move this comment up to replace the one right above it? http://gwt-code-reviews.appspot.com/675801/diff/1/3#newcode1952 dev/core/src/com/google/gwt/dev/jjs/impl/GenerateJavaAST.java:1952: for (SyntheticArgumentBinding unused : nestedBinding.outerLocalVariables) { This formulation of the for loop seems akward to me. I prefer the older version of this where it's more obvious that i is just a counting variable. As evidence of akwardness, Intellij warns that unused is actually unused in contrast to i. Of course, it'd be even better if we had a doTimes loop variant. http://gwt-code-reviews.appspot.com/675801/diff/1/3#newcode2323 dev/core/src/com/google/gwt/dev/jjs/impl/GenerateJavaAST.java:2323: private ListIterator<JParameter> getSyntheticLocalsIterator() { You ever only assign this to an Iterator. Why choose a ListIterator? http://gwt-code-reviews.appspot.com/675801/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors