Thanks John, this will be really handy.
http://gwt-code-reviews.appspot.com/1420808/diff/1/user/src/com/google/gwt/uibinder/rebind/TypeOracleUtils.java File user/src/com/google/gwt/uibinder/rebind/TypeOracleUtils.java (right): http://gwt-code-reviews.appspot.com/1420808/diff/1/user/src/com/google/gwt/uibinder/rebind/TypeOracleUtils.java#newcode60 user/src/com/google/gwt/uibinder/rebind/TypeOracleUtils.java:60: JType... argTypes) { I don't know that I would ever use this unless it was based on JClassType.getOverridableMethods(). But rather than hardcoding that choice, perhaps you should make the first argument a JMethod[] to let me choose the set myself? Can put @see pointing to getOverridableMethods. I'm biting my tongue about the fact that this method is unused. I'm generally opposed to speculative coding, but I can imagine cleaning up some existing code with this. http://gwt-code-reviews.appspot.com/1420808/diff/1/user/src/com/google/gwt/uibinder/rebind/TypeOracleUtils.java#newcode65 user/src/com/google/gwt/uibinder/rebind/TypeOracleUtils.java:65: if (method.isStatic() == isStatic && methodName.equals(method.getName()) could you put () around the == statement? http://gwt-code-reviews.appspot.com/1420808/diff/1/user/src/com/google/gwt/uibinder/rebind/TypeOracleUtils.java#newcode78 user/src/com/google/gwt/uibinder/rebind/TypeOracleUtils.java:78: * @param argType What's the difference between a paramType and an argType? Seems like the distinction matters here, but param and arg look like synonyms to me. Should the args be leftHandType and rightHandType? This applies throughout the class of course, not just here. http://gwt-code-reviews.appspot.com/1420808/diff/1/user/src/com/google/gwt/uibinder/rebind/TypeOracleUtils.java#newcode99 user/src/com/google/gwt/uibinder/rebind/TypeOracleUtils.java:99: // TODO: handle autoboxing? not needed by uibinder, fwiw. http://gwt-code-reviews.appspot.com/1420808/diff/1/user/src/com/google/gwt/uibinder/rebind/TypeOracleUtils.java#newcode140 user/src/com/google/gwt/uibinder/rebind/TypeOracleUtils.java:140: JType[] ctorArgTypes = paramTypes; Looks like ctorArgTypes is refactoring chaff, should be inlined. http://gwt-code-reviews.appspot.com/1420808/diff/1/user/src/com/google/gwt/uibinder/rebind/TypeOracleUtils.java#newcode157 user/src/com/google/gwt/uibinder/rebind/TypeOracleUtils.java:157: } else { else if http://gwt-code-reviews.appspot.com/1420808/diff/1/user/test/com/google/gwt/uibinder/rebind/TypeOracleUtilsTest.java File user/test/com/google/gwt/uibinder/rebind/TypeOracleUtilsTest.java (right): http://gwt-code-reviews.appspot.com/1420808/diff/1/user/test/com/google/gwt/uibinder/rebind/TypeOracleUtilsTest.java#newcode29 user/test/com/google/gwt/uibinder/rebind/TypeOracleUtilsTest.java:29: import static com.google.gwt.uibinder.rebind.TypeOracleUtils.*; might make this easier to read. http://gwt-code-reviews.appspot.com/1420808/diff/1/user/test/com/google/gwt/uibinder/rebind/TypeOracleUtilsTest.java#newcode145 user/test/com/google/gwt/uibinder/rebind/TypeOracleUtilsTest.java:145: public void testHasCompatibleMethod() { Many lines too long. Did you auto format? http://gwt-code-reviews.appspot.com/1420808/diff/1/user/test/com/google/gwt/uibinder/rebind/TypeOracleUtilsTest.java#newcode146 user/test/com/google/gwt/uibinder/rebind/TypeOracleUtilsTest.java:146: assertTrue("didn't find static m1(Child)", TypeOracleUtils.hasCompatibleMethod(foo, true, "m1", s/didn't find/Should have found/ http://gwt-code-reviews.appspot.com/1420808/diff/1/user/test/com/google/gwt/uibinder/rebind/TypeOracleUtilsTest.java#newcode148 user/test/com/google/gwt/uibinder/rebind/TypeOracleUtilsTest.java:148: assertFalse("found m1(Child)", TypeOracleUtils.hasCompatibleMethod(foo, false, "m1", child)); s/found/Should not have found/ http://gwt-code-reviews.appspot.com/1420808/diff/1/user/test/com/google/gwt/uibinder/rebind/TypeOracleUtilsTest.java#newcode215 user/test/com/google/gwt/uibinder/rebind/TypeOracleUtilsTest.java:215: protected void setUp() throws Exception { please throw specific exception types http://gwt-code-reviews.appspot.com/1420808/ -- http://groups.google.com/group/Google-Web-Toolkit-Contributors