I spent a few days attempting this -- it's not so simple. For example: 1) Enums can't extend Enums. Several public types contain nested Enums. 2) If a type oldA extends newA, and a method in it returns an instance of oldA, you cant simply delegate to the implementation in newA since that will return a newA, which is not an instanceof oldA. So you need to write wrappers for everything. 3) It's unclear to me how inheritance works on annotations 4) Generators will have to be modified to work off the different annotation types
I think there were other problems as well that I can't recall at the moment. My belief is that continuing with this approach would have polluted the new code base with special cases to handle parallel enums and annotations. I spoke to Ray about it and he agreed to the plan of leaving a snapshot in the old location and trying to remove it in the next release. On Thu, Mar 24, 2011 at 8:57 AM, <[email protected]> wrote: > Hollow out the to-be-deleted classes to avoid the massive duplication of > code going on in this patch. The old types should extend the new types > and where that isn't possible, the old type should be rewritten as a > delegate. > > Anything in the rebind or **/impl packages can be a straight move. > They're not public types. > > > http://gwt-code-reviews.appspot.com/1383808/ > -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
