Mostly LG, concerned about generics though. I'm 99% sure the code in GenerateJavaAST is correct.
http://gwt-code-reviews.appspot.com/495801/diff/1/2 File dev/core/src/com/google/gwt/dev/javac/JSORestrictionsChecker.java (right): http://gwt-code-reviews.appspot.com/495801/diff/1/2#newcode275 dev/core/src/com/google/gwt/dev/javac/JSORestrictionsChecker.java:275: private boolean implementsMethod(ReferenceBinding implType, Generally speaking, are you sure this handles generics correctly? Compare with the code in GenerateJavaAST.JavaASTGenerationVisitor.tryFindUpRefsRecursive(JMethod, MethodBinding, ReferenceBinding). Two key things it does: 1) /* * Always look for uprefs in the original, so we can correctly compare * erased signatures. The general design for uprefs is to model what the * JVM does in terms of matching up overrides based on binary match. */ searchThisType = (ReferenceBinding) searchThisType.original(); 2) if (binding.returnType.erasure() == tryMethod.returnType.erasure() && binding.areParameterErasuresEqual(tryMethod)) { http://gwt-code-reviews.appspot.com/495801/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
