In UiBinder, when referring to a component that extends a base UI object, the
base type is used for the generated Java declaration, resulting in a type
mismatch when the field is initialized with the more specific type.

This problem occurs because the custom UiBinder element parsers pass the type of
the associated base class into the UiBinderWriter.

The attached patch changes the implementation of
UiBinderWriter#setFieldInitializerAsConstructor() to look up the more specific
class name for the field as it was declared in the UiBinder markup, instead of
taking the one passed to it by the base class parser.  Since this change renders
the type parameter unused, the patch also removes the parameter from the
function declaration and all of its invocations.

GWT issue #4342
Review by rjrjr at http://gwt-code-reviews.appspot.com/1556806/

Review by: rchandia@google.com

git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@10697 8db76d5a-ed1c-0410-87a9-c151d255dfc7
13 files changed